Автор: | Центральная предметно-методическая комиссия | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
В лаборатории теории чисел одного университета изучают связь между распределением квадратов и кубов натуральных чисел.
Пусть задано целое неотрицательное число k. Рассмотрим множество натуральных чисел от a до b, включительно. Будем называть k-плотностью этого множества количество пар натуральных чисел x и y, таких, что a ≤ x2 ≤ b, a ≤ y3 ≤ b, причем |x2 − y3| ≤ k. Например, 2-плотность множества натуральных чисел от 1 до 30 равна 3, так как подходят следующие пары:
x = 1, y = 1, |x2 − y3| = |1 − 1| = 0;
x = 3, y = 2, |x2 − y3| = |9 − 8| = 1;
x = 5, y = 3, |x2 − y3| = |25 − 27| = 2.
Требуется написать программу, которая по заданным натуральным числам a и b, а также целому неотрицательному числу k, определяет k-плотность множества натуральных чисел от a до b, включительно.
Входные данные содержат три строки. Первая строка содержит натуральное число a, вторая строка содержит натуральное число b, третья строка содержит целое неотрицательное число k.
Выходные данные должны содержать одно целое число: искомую k-плотность множества натуральных чисел от a до b, включительно.
1 ≤ a ≤ b ≤ 1018, 0 ≤ k ≤ 1018
Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.
Подзадача | Баллы | Ограничения | Необходимые подзадачи | Информация о проверке | |
---|---|---|---|---|---|
a, b | k | ||||
1 | 10 | 1 ≤ a ≤ b ≤ 1000 | k = 0 | полная | |
2 | 10 | 1 ≤ a ≤ b ≤ 1018 | k = 0 | 1 | полная |
3 | 15 | 1 ≤ a ≤ b ≤ 1000 | 0 ≤ k ≤ 10 | 1 | полная |
4 | 15 | 1 ≤ a ≤ b ≤ 106 | 0 ≤ k ≤ 10 | 1, 3 | полная |
5 | 15 | 1 ≤ a ≤ b ≤ 109 | 0 ≤ k ≤ 10 | 1, 3, 4 | полная |
6 | 15 | 1 ≤ a ≤ b ≤ 109 | 0 ≤ k ≤ 109 | 1, 3, 4, 5 | полная |
7 | 20 | 1 ≤ a ≤ b ≤ 1018 | 0 ≤ k ≤ 1018 | 1−6 | полная |
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Центральная предметно-методическая комиссия по информатике | Ограничение времени: | 2 сек | |
Входной файл: | cities.in | Ограничение памяти: | 256 Мб | |
Выходной файл: | cities.out | |||
Максимальный балл: | 100 |
Юный программист решил придумать собственную игру. Игра происходит на поле размером N×N клеток, в некоторых клетках которого расположены города (каждый город занимает одну клетку; в каждой клетке может располагаться не более одного города). Всего должно быть чётное количество городов.
Изначально про каждую клетку игрового поля известно, расположен ли в ней город или нет. Чтобы начать игру, необходимо разделить игровое поле на два государства так, чтобы в каждом государстве было поровну клеток-городов.
Граница между государствами должна проходить по границам клеток таким образом, чтобы из любой клетки каждого государства существовал путь по клеткам этого же государства в любую другую его клетку (из клетки можно перейти в соседнюю, если они имеют общую сторону). Каждая клетка игрового поля должна принадлежать только одному из двух государств, при этом государства не обязаны состоять из одинакового количества клеток.
Требуется написать программу, которая с учетом сказанного разделит клетки заданного игрового поля между двумя государствами.
Правильные решения для тестов, в которых всего два города, будут оцениваться из 40 баллов.
1 ≤ N ≤ 50
№ | Входной файл (cities.in ) |
Выходной файл (cities.out ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | Центральная предметно-методическая комиссия | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход | |||
Максимальный балл: | 100 |
Группа юных археологов работает на раскопках здания древней библиотеки. Летом они обнаружили остатки старой книги и, изучив их, сделали следующие выводы.
Книга содержит несколько страниц, каждая страница содержит либо текст, либо иллюстрацию. Первые k страниц книги точно содержат иллюстрации. Все страницы книги пронумерованы, но номер страницы написан только на страницах, содержащих текст. Сумма номеров страниц с текстом равна s.
К сожалению, ни общее количество страниц в книге, ни количество иллюстраций установить не удалось. Тем не менее, юных археологов заинтересовал вопрос, какое минимальное количество иллюстраций могло быть в книге.
Например, если k = 1, а s = 8, то страницы книги могли иметь следующее содержание (буквой «Т» обозначена страница, содержащая текст, а буквой «И» — страница, содержащая иллюстрацию):
Минимальное количество иллюстраций равно 3.
Требуется написать программу, которая по заданным целым числам k и s определяет минимальное количество иллюстраций, которое могло быть в книге.
Первая строка входных данных содержит целое число k.
Вторая строка входных данных содержит целое число s.
Требуется вывести одно целое число — минимальное количество иллюстраций в книге.
0 ≤ k ≤ 109
k + 1 ≤ s ≤ 1012
Баллы за каждую подзадачу начисляются только в случае, если все тесты этой подзадачи и необходимых подзадач успешно пройдены.
Подзадача | Баллы | Дополнительные ограничения | Необходимые подзадачи | Информация о проверке | |
---|---|---|---|---|---|
k | s | ||||
1 | 15 | k = 0 | 1 ≤ s ≤ 200 | полная | |
2 | 20 | k = 0 | 1 ≤ s ≤ 1012 | 1 | полная |
3 | 30 | 0 ≤ k ≤ 199 | k + 1 ≤ s ≤ 200 | 1 | полная |
4 | 35 | 0 ≤ k ≤ 109 | k + 1 ≤ s ≤ 1012 | 1, 2, 3 | полная |
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Центральная предметно-методическая комиссия по информатике | Ограничение времени: | 2 сек | |
Входной файл: | schools.in | Ограничение памяти: | 256 Мб | |
Выходной файл: | schools.out | |||
Максимальный балл: | 100 |
При регистрации на портале интернет-олимпиады все участники заполняют регистрационную форму, где они указывают название школы, в которой они учатся. Разные участники могут по-разному писать название школы, например, "Физико-математическая школа №18", "ФМШ №18".
Организаторам олимпиады предоставлена информация о названиях школ, которые написали регистрируемые участники олимпиады. Точно известно, что цифры в названии школы встречаются только в номере школы, а число в записи названия школы встречается ровно один раз и оно однозначно определяет номер школы. Номер школы является положительным целым числом и не может начинаться с нуля.
Требуется написать программу для сайта интернет-олимпиады, которая поможет организаторам олимпиады получить следующую информацию: количество школ и номера школ, из которых зарегистрировалось не более пяти участников.
В приведенном примере для участия в интернет-олимпиаде зарегистрировались: два ученика из школы с номером 18, один ученик из школы с номером 42 и шесть учеников из школы с номером 9. Таким образом, от 1 до 5 участников зарегистрировано от школ с номерами 18 и 42.
Частичные правильные решения для тестов, в которых все номера школ являются однозначными числами, будут оцениваться из 30 баллов.
Частичные правильные решения для тестов, в которых номера школ –- это числа строго меньше 1000, будут оцениваться из 50 баллов.
Частичные правильные решения для тестов, в которых номера школ –- это числа строго меньше 109, будут оцениваться из 80 баллов.
Несмотря на выделение отдельных групп тестов, на окончательную проверку будут приниматься только решения, правильно работающие для теста из условия задачи.
Первая строка входного файла содержит одно целое число n -– количество названий школ, указанных всеми участниками при регистрации.
Последующие n строк содержат названия школ, указанные участниками.
Первая строка выходного файла должна содержать одно число m -– количество школ, от которых на олимпиаду зарегистрировалось от одного до пяти участников. Последующие m строк должны содержать только номера таких школ, при этом номера должны располагаться по одному в строке в произвольном порядке.
1 ≤ n ≤ 1000
Название школы содержит только заглавные и строчные буквы латинского алфавита, цифры и пробелы, длина названия не превышает 100 символов.
№ | Входной файл (schools.in ) |
Выходной файл (schools.out ) |
---|---|---|
1 |
|
|
Автор: | Центральная предметно-методическая комиссия по информатике | Ограничение времени: | 1 сек | |
Входной файл: | space.in | Ограничение памяти: | 256 Мб | |
Выходной файл: | space.out | |||
Максимальный балл: | 100 |
Для освоения Марса требуется построить исследовательскую базу. База должна состоять из N одинаковых модулей.
Каждый модуль представляет собой жилой отсек, который в основании имеет форму прямоугольника размером A × B метров.
Для повышения надежности модулей инженеры могут добавить вокруг каждого модуля дополнительный защитный слой. Толщина этого слоя должна составлять целое число метров, и все модули должны иметь одинаковую толщину защитного слоя.
Модуль с защитным слоем, толщина которой равна D метрам, будет иметь в основании форму прямоугольника размером (A + 2 D) × (B + 2 D) метров.
Все модули должны быть расположены на заранее подготовленном прямоугольном поле размером W × H метров.
При этом они должны быть организованы в виде регулярной сетки, их стороны должны быть параллельны сторонам поля, и модули должны быть ориентированы одинаково.
Требуется написать программу, которая по заданным количеству и размеру модулей, а также размеру поля для их размещения, определяет максимальную толщину дополнительного защитного слоя, который можно добавить к каждому модулю.
В первом примере можно установить дополнительный защитный слой толщиной 2 метра и разместить модули на поле, как показано на рисунке.
Во втором примере жилой отсек имеет в основании размер 5 × 5 метров, а поле — размер 6 × 6 метров.
Добавить дополнительный защитный слой к модулю нельзя.
Входной файл содержит пять разделенных пробелами целых чисел: N, A, B, W, H.
Гарантируется, что без дополнительного защитного слоя все модули можно разместить в поселении описанным образом.
Выходной файл должен содержать одно целое число: максимальную возможную толщину дополнительного защитного слоя.
Если дополнительный защитный слой установить не удастся, требуется вывести число 0.
1 ≤ N, A, B, W, H ≤ 1018
1 ≤ N ≤ 1000; 1 ≤ A, B, W, H ≤ 1000.
Баллы за подзадачу начисляются только в случае, если все тесты успешно пройдены.
1 ≤ N ≤ 1000; 1 ≤ A, B, W, H ≤ 109.
Баллы за подзадачу начисляются только в случае, если все тесты успешно пройдены.
1 ≤ N ≤ 109; 1 ≤ A, B, W, H ≤ 1018.
В этой подзадаче 8 тестов, каждый тест оценивается в 3 балла. Баллы за каждый тест начисляются независимо.
1 ≤ N ≤ 1018; 1 ≤ A, B, W, H ≤ 1018.
В этой подзадаче 9 тестов, каждый тест оценивается в 3 балла. Баллы за каждый тест начисляются независимо.
По запросу сообщается результат окончательной проверки на каждом тесте.
№ | Входной файл (space.in ) |
Выходной файл (space.out ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | Центральная предметно-методическая комиссия по информатике | Ограничение времени: | 2 сек | |
Входной файл: | cond.in | Ограничение памяти: | 256 Мб | |
Выходной файл: | cond.out | |||
Максимальный балл: | 100 |
При реализации проекта «Умная школа» было решено в каждый учебный класс выбранной для этого школы установить по кондиционеру нового поколения для автоматического охлаждения и вентиляции воздуха. По проекту в каждом классе должен быть установлен только один кондиционер и мощность кондиционера должна быть достаточной для размеров класса. Чем больше класс, тем мощнее должен быть кондиционер.
Все классы школы пронумерованы последовательно от 1 до n. Известно, что для каждого класса с номером i, требуется ровно один кондиционер, мощность которого больше или равна ai ватт.
Администрации школы предоставили список из m различных моделей кондиционеров, которые можно закупить. Для каждой модели кондиционера известна его мощность и стоимость. Требуется написать программу, которая определит, за какую минимальную суммарную стоимость кондиционеров можно оснастить все классы школы.
В первом примере нужно купить один единственно возможный кондиционер за 1000 рублей.
Во втором примере оптимально будет установить в первом и втором классах кондиционеры четвертого типа, а в третьем классе — кондиционер третьего типа. Суммарная стоимость этих кондиционеров будет составлять 13 рублей (3 + 3 + 7).
Частичные решения для n, m ≤ 1000 будут оцениваться из 50 баллов.
Первая строка входного файла содержит одно целое число n — количество классов в школе.
Вторая строка содержит n целых чисел ai — минимальная мощность кондиционера в ваттах, который можно установить в классе с номером i.
Третья строка содержит одно целое число m — количество предложенных моделей кондиционеров.
Далее, в каждой из m строк содержится пара целых чисел bj и cj — мощность в ваттах j-й модели кондиционера и его цена в рублях соответственно.
Выходной файл должен содержать одно число — минимальную суммарную стоимость кондиционеров в рублях. Гарантируется, что хотя бы один корректный выбор кондиционеров существует, и во всех классах можно установить подходящий кондиционер.
1 ≤ n ≤ 50 000;
1 ≤ ai ≤ 1000;
1 ≤ m ≤ 50 000
1 ≤ bj ≤ 1000, 1 ≤ cj ≤ 1000;
№ | Входной файл (cond.in ) |
Выходной файл (cond.out ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | Центральная предметно-методическая комиссия по информатике | Ограничение времени: | 2 сек | |
Входной файл: | name.in | Ограничение памяти: | 256 Мб | |
Выходной файл: | name.out | |||
Максимальный балл: | 100 |
На далекой планете Тау Кита есть непонятные нам обычаи. Например, таукитяне очень необычно для землян выбирают имена своим детям. Родители так выбирают имя ребенку, чтобы оно могло быть получено как удалением некоторого набора букв из имени отца, так и удалением некоторого набора букв из имени матери. Например, если отца зовут "abacaba", а мать — "bbccaa", то их ребенок может носить имена "a", "bba", "bcaa", но не может носить имена "aaa", "ab" или "bbc". Возможно, что имя ребенка совпадает с именем отца и/или матери, если оно может быть получено из имени другого родителя удалением нескольких (возможно, ни одной) букв.
Пусть отец по имени X и мать по имени Y выбирают имя своему новорожденному ребенку. Так как в таукитянских школах учеников часто вызывают к доске в лексикографическом порядке имен учеников, то есть в порядке следования имен в словаре, то они хотят выбрать своему ребенку такое имя, чтобы оно лексикографически следовало как можно позже.
Формально, строка S лексикографически больше строки T, если выполняется одно из двух условий:
В первом примере имя ребенка не может начинаться с буквы большей 'с', так как имя отца не содержит таких букв. Буква 'с' содержится в обоих именах, следовательно, имя ребенка может начинаться с этой буквы. Единственная буква, которая может идти следом за буквой 'с' в имени ребенка — это буква 'a'.
Правильные решения для тестов, в которых имена содержат только буквы "a" и "b" и имеют длину не более 1000, будут оцениваться из 20 баллов.
Правильные решения для тестов, в которых имена содержат только буквы "a" и "b" и имеют длину не более 105, будут оцениваться из 40 баллов.
Правильные решения для тестов, в которых имена имеют длину не более 1000, будут оцениваться из 40 баллов.
Несмотря на выделение отдельных групп тестов, на окончательную проверку будут приниматься только решения, правильно работающие для всех тестов, приведенных в условии задачи.
Каждое имя состоит из строчных букв латинского алфавита, включает хотя бы одну букву и имеет длину не более 105 букв.
№ | Входной файл (name.in ) |
Выходной файл (name.out ) |
---|---|---|
1 |
|
|
2 |
|
|