1 Олимпиада Силаэдра
A. Увлекательная игра
ограничение по времени на тест
0.5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Сегодня на уроке зельеварения Ваня придумал для себя увлекательную игру. Сначала Ваня ставит на числовой прямой три различных точки в целых координатах. После этого он может взять одно из крайних чисел и переместить его в любую целую точку между двумя оставшимися, где крайним мы называем минимальное или максимальное из чисел. Он повторяет это действие до тех пор пока это возможно.

Например, если изначально выбрать точки $$$\{2, 4, 8\}$$$, после первого хода могут получится следующие комбинации чисел: $$$\{2, 3, 4\}$$$, $$$\{4, 5, 8\}$$$, $$$\{4, 6, 8\}$$$, $$$\{4, 7, 8\}$$$. В первом случае игра заканчивается после первого же хода, в остальных случаях можно сделать еще хотя бы один ход.

Теперь Ване интересно, сколько ходов он может сделать для любой заданной тройки точек. К сожалению Вани, зельеварение закончилось - и теперь он сам не успеет выяснить это, помогите ему!

Входные данные

В единственной строке вводится три числа $$$1 \le a, b, c \le 2 * 10^9$$$.

Выходные данные

В единственной строке выведите максимальное количество ходов, которое может сделать Ваня.

Система оценки

В данной задаче 20 тестов (помимо тестов из условия), каждый из них оценивается в 5 баллов. Результаты работы ваших решений на всех тестах будут доступны сразу во время соревнования.

Решения, корректно работающие при $$$1 \le a, b, c \le 100$$$, наберут не менее 15 баллов.

Решения, корректно работающие при $$$1 \le a, b, c \le 1000$$$, наберут не менее 30 баллов.

Решения, корректно работающие при $$$1 \le a, b, c \le 10^5$$$, наберут не менее 60 баллов.

Примеры
Входные данные
1 2 8
Выходные данные
5
Входные данные
1 2 9
Выходные данные
6
Входные данные
3 4 5
Выходные данные
0

B. Квартал Тьюринга
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Молодой и амбициозный Вано, закончивший институт год назад, наконец, решил купить квартиру в районе Ваке города Тбилиси.

В течение следующего десятилетия он планирует проживать активную жизнь, ежедневно посещая ряд мест по городу. Каждый день Вано будет посещать $$$n$$$ различных зданий, и после каждого визита он будет возвращаться домой.

Учитывая это, Вано хочет выбрать квартиру так, чтобы общее расстояние, которое ему придется преодолевать до всех этих зданий, было минимальным. В районе Ваке все здания описываются при помощи двух целых координат $$$(x, y)$$$ — это координаты центра здания, и размеры каждого здания составляют 1 на 1 единицу. Расстояние между двумя зданиями определяется как сумма модулей разностей их координат. Например, если одно здание расположено с координатами $$$(x_1, y_1)$$$, а другое — с координатами $$$(x_2, y_2)$$$, то расстояние между ними составляет $$$|x_1 - x_2| + |y_1 - y_2|$$$.

К счастью для Вано, район Ваке славится разнообразием доступных опций недвижимости: в каждом здании есть квартиры, которые можно купить. Таким образом, Вано может выбрать квартиру в любом из доступных зданий, чтобы минимизировать свои ежедневные маршруты.

Входные данные

В первой строке вводится единственное число $$$n$$$ — количество мест, которые Вано будет посещать в течение года. Далее в $$$n$$$ строчках вводятся координаты посещаемых мест.

Выходные данные

Выведите координаты центра здания, где Вано следует купить квартиру.

Система оценки

Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены.

ПодзадачаБаллыОграничения Необходимые подзадачи Информация о проверке
110$$$1 \le n \le 1000$$$, $$$0 \le |y_i| \le 1000, x_i=0$$$полная
210$$$1 \le n \le 1000$$$, $$$0 \le |y_i| \le 10^9, x_i=0$$$1первая ошибка
340$$$1 \le n \le 100000$$$, $$$0 \le |y_i| \le 10^9, x_i=0$$$1, 2первая ошибка
410$$$1 \le n \le 100$$$, $$$0 \le |x_i|, |y_i| \le 100$$$первая ошибка
530$$$1 \le n \le 100000$$$, $$$0 \le |x_i|, |y_i| \le 10^9$$$1-4первая ошибка
Примеры
Входные данные
3
0 1
0 4
0 5
Выходные данные
0 4
Входные данные
4
1 1
3 4
4 3
4 4
Выходные данные
4 4

C. Машинки
ограничение по времени на тест
0.7 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Федя очень любит играть в машинки-трансформеры. В этой игре побеждает тот игрок, у которого самая быстрая машинка. Чтобы увеличить скорость машины, можно выбрать другую машинку с такой же скоростью, разобрать, а затем их обе объединить в одну, со скоростью, которая в два раза больше изначальной. Также игра позволяет разобрать машину с четной скоростью и собрать из нее две со скоростью в два раза меньшей.

Вам даны машинки, которые есть у Феди. Он очень хочет узнать, какая самая максимальная скорость может быть у машинки, которую он уже имеет или может собрать.

Входные данные

В первой строке вводится одно число $$$1 \leq n \leq 10^5$$$ – количество машинок у Феди.

Во второй строке через пробел вводится массив $$$a$$$, состоящий из $$$n$$$ неотрицательных чисел, в сумме не превосходящих $$$10^{15}$$$, – скорости машинок, которые изначально были у Феди.

Выходные данные

Он очень хочет узнать, какая максимальная скорость может быть у машинки, которую он может собрать или которая у него уже имеется.

Система оценки

В данной задаче 25 тестов (помимо тестов из условия), каждый из них оценивается в 4 балла.

Решения, корректно работающие при всех $$$a_i$$$, равных степеням двоек, наберут не менее 36 баллов.

Решения, корректно работающие при $$$1 \leq n \leq 100$$$ и $$$(\sum_{i=1}^{i \le n}{a_i}) \leq 10^5$$$, наберут не менее 52 баллов.

Примеры
Входные данные
5
3 5 6 20 6
Выходные данные
20
Входные данные
6
2 0 8 4 8 16
Выходные данные
32

D. Шифр 5-1-15-10 и 3-1-15-10
ограничение по времени на тест
1.5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Берляндия и Кекляндия посылают к друг другу дипломатов с сообщениями. Чтобы никто не смог перехватить послание, они решили шифровать свои сообщения так: вместо букв они выписывают через пробел цифры номера букв в алфавите, в котором A букв, начиная с 1 в k-ичной системе исчисления (цифры каждого числа тоже через пробел). Однако, иногда по дороге цифры смазываются и нельзя понять, что там было. Однажды правительству Кекляндии пришло очередное сообщение, но в нем было очень много пропусков. На всякий случай они решили подсчитать, сколькими способами можно восстановить сообщение (составить такое сообщение, чтобы после шифровки получилась эта же последовательности цифр, не считая стертых цифр), ведь тогда будет слишком сложно понять, что хотела сообщить Берляндия. Сообщение может быть очень длинным, поэтому Кекляндия попросила вас автоматизировать этот процесс и сообщать результат по модулю $$$10^9 + 7$$$.

Помогите Кекляндии подсчитать количество способов восстановить сообщение!

Входные данные

В первой строке вводятся три числа $$$n$$$, $$$A$$$ и $$$k$$$ - размер полученного Кекляндией сообщения, размер алфавита и основание системы исчисления, использованная для перевода букв в цифры, соответсвенно.

Во второй строке вводится полученное Кекляндией сообщение. Цифры переведены в десятичную систему исчисления. Если вместо натурального числа стоит -1, значит цифра на этом месте стерлась.

Выходные данные

В единственной строке выведите одно число – ответ на задачу.

Система оценки

Баллы за каждую подзадачу начисляются только в случае, если все тесты для этой подзадачи и необходимых подзадач успешно пройдены. Вам будет показан только вердикт на первом непройденном тесте в группе.

№БаллыОграничения Необходимые подзадачи
13$$$1 \leq n, A \leq 10^3, k=10,$$$ все $$$a_i=-1$$$
24$$$1 \leq n, A \leq 10^3, 2 \leq k \leq 1000,$$$ все $$$a_i=-1$$$1
36$$$1 \leq n \leq 10^5, 1 \leq A \leq 10^{9}, 2 \leq k \leq 10^9,$$$ все $$$a_i=-1$$$1,2
43$$$1 \leq n, A \leq 10^3, k=10,$$$ все $$$a_i \neq -1$$$
53$$$1 \leq n, A \leq 10^3, 2 \leq k \leq 1000,$$$ все $$$a_i \neq -1$$$4
62$$$1 \leq n \leq 10^5, 1 \leq A \leq 10^{9}, k=10,$$$ все $$$a_i \neq -1$$$4
73$$$1 \leq n \leq 10^5, 1 \leq A \leq 10^{9}, 2 \leq k \leq 10^9,$$$ все $$$a_i \neq -1$$$4,5,6
89$$$1 \leq n \leq 5, A=26, k=10$$$
93$$$1 \leq n, A \leq 10^3, k=10$$$1,4,8
108$$$1 \leq n, A \leq 10^3, 2 \leq k \leq 1000$$$1,2,4,5,8,9
1116$$$1 \leq n \leq 10^5, 1 \leq A \leq 10^{9}, k=10$$$1,4,6,8,9
1211$$$1 \leq n \leq 10^5, 1 \leq A \leq 10^{9}, 2 \leq k \leq 10^9$$$1-11
1317$$$1 \leq n \leq 5 \cdot 10^5, 1 \leq A \leq 10^{18}, k=10$$$1,4,6,8,9,11
1412$$$1 \leq n \leq 5 \cdot 10^5, 1 \leq A \leq 10^{18}, 2 \leq k \leq 10^{18}$$$1-13
Примеры
Входные данные
3 26 12
-1 6 2
Выходные данные
12
Входные данные
2 26 10
7 4
Выходные данные
1
Входные данные
4 26 10
-1 -1 -1 -1
Выходные данные
10981
Примечание

Даже если все цифры остались, то сообщение не всегда можно восстановить единственным образом.

inprast'rukt'uris saminist'ro
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Гиоргий Тиньковидзе, работает в Министерстве инфраструктуры Грузии (inprast'rukt'uris saminist'ro). В связи с объявленным 14-го декабря решением Европейской комиссии о предоставлении Грузии статуса кандидата на вступление в Европейский союз, министерству инфраструктуры было поручено организовать информационную поддержку празднований.

Гиоргий Подворнидзе в свою очередь требуется проложить интернет кабель через весь проспект Руставели от Площади Свободы до самого памятника Шота Руставели. Длина данного участка дороги составляет $$$k$$$ метров. В распоряжении Гиоргия есть $$$n$$$ проводов, каждый из них характеризуется длиной и порядковым номером. Гиоргию требуется составить провод достаточной длины ($$$\geq k$$$ метров), при этом получившаяся перестановка из порядковых номеров проводов должна быть лексикографически как можно меньше.

К сожалению, не все так просто, как думал Гиоргий — не любую пару проводов можно соединить между собой. Для каждого провода известны типы разъемов на его концах — либо P (папа, гр. mama), либо M (мама, гр. deda). Провода могут быть как MM, так и PP, так и MP. Соединять провода можно только через различные типы разъемов на концах. Провода можно переворачивать, а итоговый провод должен получиться с разъемом P в начале и разъемом M в конце.

Помогите Гиоргию составить нужную ему цепь из проводов или скажите, что это не возможно.

Входные данные

В первой строке вводятся два числа $$$1 \leq n \leq 2 \cdot 10^5, 1 \leq k \leq 10^{18}$$$ — количество проводов и требуемая длина цепи.

В следующих $$$n$$$ строках вводятся описания проводов $$$t^i_{start}, t^i_{end} \in [\texttt{M}, \texttt{P}], 1 \leq L_i \leq 10^9, 1 \leq p_i \leq n$$$ — типы разъемов на концах и длина очередного провода соответственно.

Выходные данные

В первой строке выведите «Yes», если Гиоргий сможет сделать нужный ему провод, и «No» иначе.

Если составить провод возможно, во второй строке выведите количество элементов, которое понадобиться.

В третьей строке выведите порядковые номера проводов, в том порядке, в котором они идут в получившемся проводе.

Пример
E. inprast'rukt'uris saminist'ro
4 13
M M 2
M P 7
P P 3
P P 10
Выходные данные
Yes
3
2 4 1