Уральская командная олимпиада по программированию Юниоры 2024
A. Магические руны
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Морти нашел магические руны. Каждая руна обозначена своей буквой строчного латинского алфавита. Рику и Морти стало интересно, а смогут ли они составить заклинание из этих рун.

Заклинание $$$s$$$ — это строка, состоящая из рун, длины $$$n$$$. При этом, если все подстроки заклинания длины хотя бы 2 различны, то такое заклинание называется сильным. В противном же случае, заклинание называется слабым. Например, «portal» — сильное заклинание, а «abracadabra» — слабое заклинание.

Чтобы Морти вернуться домой, ему нужно составить сильное заклинание длины $$$n$$$ — помогите ему с этим!

Подстрока строки $$$s$$$ — это последовательность символов, идущих подряд в строке $$$s$$$. Например, «abc» является подстрокой строки «dfabced».

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

В первой строке вводится целое число $$$n$$$ — необходимая длина заклинания $$$(1 \le n \le 677)$$$.

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

Выведите единственную строку — необходимое сильное заклинание длины $$$n$$$. Если ответов несколько, то можно вывести любой.

Примеры
Входные данные
6
Выходные данные
portal
Входные данные
5
Выходные данные
morty

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

Джерри очень хочет научиться завершать игру в гольф за два удара. Он знает, что всего есть $$$n$$$ лунок, имеющих координаты $$$(x_i, y_i)$$$.

Джерри хочет поставить шар в какую-то точку и произвести сначала удар влево, затем удар вниз, так чтобы в итоге шар оказался в какой-то лунке. Формально говоря, если Джерри изначально поставит шар в точку с координатами $$$(A, B)$$$, то затем он может выбрать любые числа $$$l, d \geq 0$$$ и двумя ударами отправить шар в точку $$$(A - l, B - d)$$$.

Однако Джерри не смог решить, в какую точку ему поставить шар. Поэтому он призвал $$$q$$$ Мисиксов, $$$i$$$-й из которых посоветовал ему поставить шар в точку $$$(a_i, b_i)$$$.

Для каждого $$$i$$$ от $$$1$$$ до $$$n$$$, помогите Джерри узнать, сможет ли он загнать шар в какую-то лунку, если последует совету $$$i$$$-го Мисикса и поставит шар в точку $$$(a_i, b_i)$$$.

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

Первая строка входных данных содержит целое число $$$n$$$ — количество лунок ($$$1 \leq n \leq 10^5$$$).

Следующие $$$n$$$ строк содержат два целых числа $$$x_i$$$ и $$$y_i$$$ — координаты $$$i$$$-й лунки ($$$1 \leq x_i, y_i \leq 10^9$$$).

Следующая строка содержит целое число $$$q$$$ — количество Мисиксов ($$$1 \leq q \leq 10^5$$$).

Следующие $$$q$$$ строк содержат два целых числа $$$a_i$$$ и $$$b_i$$$ — координаты из совета $$$i$$$-го Мисикса ($$$1 \leq a_i, b_i \leq 10^9$$$).

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

Выведите $$$q$$$ строк, содержащие «YES» или «NO». Слово «YES» означает, что, последовав совету Мисикса, Джерри сможет загнать шар в какую-то лунку, а слово «NO» означает, что не сможет. Кавычки выводить не нужно.

Пример
Входные данные
3
1 3
3 1
4 4
5
1 3
4 2
2 1
2 2
3 3
Выходные данные
YES
YES
NO
NO
YES

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

Морти стоит в пещере Губителя миров, прямо перед ним очередная нейтрино бомба, сделанная Риком, и на обезвреживание осталось меньше минуты.

На экране бомбы изображены $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$. С помощью специальных кнопок на бомбе Морти может поменять местами любые два соседних числа, если их сумма нечётна. Формально говоря, Морти может выбрать любое $$$1 \leq i \lt n$$$, такое что $$$a_i + a_{i + 1}$$$ нечётно, и поменять числа $$$a_i$$$ и $$$a_{i + 1}$$$ местами. Такую операцию он может сделать сколько угодно раз.

Морти знает, что бомба будет обезврежена, если числа на экране будут идти в неубывающем порядке. Формально говоря, если $$$a_1 \leq a_2 \leq \ldots \leq a_n$$$.

Помогите Морти узнать, сможет ли он обезвредить бомбу.

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

Первая строка входных данных содержит целое число $$$n$$$ — количество чисел на экране ($$$1 \leq n \leq 10^5$$$).

Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \leq a_i \leq 10^9$$$).

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

Выведите «YES», если бомбу можно обезвредить описанным выше образом, или выведите «NO», если нельзя. Кавычки выводить не нужно.

Примеры
Входные данные
5
1 2 1 5 4
Выходные данные
YES
Входные данные
3
1 2 3
Выходные данные
YES
Входные данные
2
4 2
Выходные данные
NO
Примечание

Целое число $$$a$$$ называется нечётным, если оно не делится на $$$2$$$.

D. Чифир
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У Морти завтра важная контрольная по математике, поэтому он решил не ложиться спать, пока не выучит весь материал. Для этого он приготовил себе стакан очень крепкого чая, чтобы ни в коем случае не уснуть. Однако через несколько часов Морти понял, что математика слишком скучная наука и гораздо интереснее изучать свой стакан с чаем.

Стакан представляет из себя прямоугольный параллелепипед со сторонами $$$a$$$ и $$$b$$$ сантиметров у основания и $$$c$$$ сантиметров в высоту. На внутренней части каждой грани нанесены отметки через каждый сантиметр, по которым можно узнать примерную высоту налитой жидкости (у основания отметка с числом 0, последняя отметка с числом $$$c$$$). Морти заметил, что сейчас уровень налитого им чая находится ровно на высоте $$$h$$$. Ему стало интересно, какую наименьшую отметку на стакане он сможет увидеть, наклоняя стакан так, чтобы одна сторона основания оставалась полностью на столе. При этом он не хочет пролить ни капли чая, ведь он получился очень вкусным. Также Морти знает, что если в наклоненном состоянии возле одной из граней чай будет находиться ровно на отметке, то он сможет увидеть число на ней.

Но не успел он приступить к этому невероятно увлекательному по сравнению с математикой эксперименту, как в его комнату ворвался Рик и потащил на очередное приключение. Однако Морти никак не может выкинуть из головы эксперимент со стаканом, поэтому он просит вас найти ответ на свой вопрос, чтобы он мог отправиться в приключение, не думая о каких-то пустяках.

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

В первой строке через пробел вводятся три целых числа $$$a, b$$$ и $$$c$$$ — размеры стакана ($$$1 \leq a, b, c \leq 10^9$$$).

Во второй строке вводится целое число $$$h$$$ — высота, до которой налит чай в стакане ($$$1 \leq h \leq c$$$).

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

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

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

E. Рик и Морти, а также злой таможенник
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Таможенник был очень уставшим и злым в конце рабочего дня, поэтому предложил Рику и Морти самую сложную задачу из своего арсенала: дана таблица $$$a$$$ из $$$n$$$ строк и $$$m$$$ столбцов, необходимо заполнить эту таблицу различными натуральными числами от $$$1$$$ до $$$n\cdot m$$$ включительно. Но такая задача оказалась слишком лёгкой для Рика, поэтому таможенник просит, чтобы выполнялись следующие утверждения ($$$a_{i, j}$$$ — число, которое находится в таблице $$$a$$$ на пересечении $$$i$$$-й строки и $$$j$$$-го столбца):

  • Если мы выберем любые 2 числа $$$1 \leq i \lt j \leq n$$$, то произведения чисел в $$$i$$$-й и $$$j$$$-й строках должны являться не взаимно простыми числами (более формально — числа $$$(a_{i, 1} \cdot a_{i, 2}\cdot\ldots\cdot a_{i, m})$$$ и $$$(a_{j, 1} \cdot a_{j, 2}\cdot\ldots\cdot a_{j, m})$$$ не являются взаимно простыми для любых $$$1 \leq i \lt j \leq n$$$).
  • Если мы выберем любые 2 числа $$$1 \leq i \lt j \leq m$$$, то произведения чисел в $$$i$$$-м и $$$j$$$-м столбцах должны являться не взаимно простыми числами (более формально — числа $$$(a_{1, i} \cdot a_{2, i}\cdot\ldots\cdot a_{n, i})$$$ и $$$(a_{1, j} \cdot a_{2, j}\cdot\ldots\cdot a_{n, j})$$$ не являются взаимно простыми для любых $$$1 \leq i \lt j \leq m$$$).

И тут Рик и Морти задумались: а существует ли вообще такая таблица $$$a$$$ (вдруг таможенник намеренно не хочет пускать инопланетных специалистов...)? Так как они заняты разработкой новой нейросети, то вам поручено ответить на этот вопрос. Сможете ли вы помочь Рику и Морти?

Напомним, что числа $$$a, b$$$ являются не взаимно простыми, если у них существует общий делитель, отличный от $$$1$$$.

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

В первой строке содержится число $$$n$$$ — количество строк в таблице $$$a$$$ ($$$1 \leq n \leq 10^9$$$).

Во второй строке содержится число $$$m$$$ — количество столбцов в таблице $$$a$$$ ($$$1 \leq m \leq 10^9$$$).

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

Выведите строку «YES», если существует такая таблица $$$a$$$, что она удовлетворяет требованиям таможенника. Иначе выведите «NO».

Внимание: регистр ответа важен.

Примеры
Входные данные
2
2
Выходные данные
YES
Входные данные
2
1
Выходные данные
NO
Примечание

В первом примере можно, например, сделать такую таблицу $$$ a = \left( \begin{array}{cc} 1 & 2 \\ 4 & 3 \\ \end{array} \right) $$$, она будет подходить всем условиям таможенника.

Во втором примере легко показать, что таможенник дал неразрешимую задачу.

F. Забор Джина
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

У Джина есть $$$n$$$ досок с длинами $$$a_1, \ldots, a_n$$$ дюймов. За один доллар Джин может удлинить или укоротить на один дюйм любую доску по своему выбору. При этом никакая доска не должна стать короче одного дюйма.

Джин хочет получить как можно больше досок одинаковой длины, потратив не более $$$k$$$ долларов. Найдите максимальное возможное количество досок одинаковой длины, которое он сможет получить.

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

Первая строка содержит два целых числа $$$n$$$ и $$$k$$$ — количество досок и количество долларов, которое Джин готов потратить ($$$1 \leq n \leq 10^5, 0 \leq k \leq 10^{18}$$$).

Вторая строка содержит $$$n$$$ целых чисел $$$a_1, \ldots, a_n$$$ — длины досок в дюймах ($$$1 \leq a_i \leq 10^9$$$).

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

Выведите одно целое число — максимальное возможное количество досок одинаковой длины, которое Джин сможет получить.

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

G. Межпространственное дерево
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В одной из вселенных Рика и Морти существует огромное дерево с $$$n$$$ измерениями. Некоторые пары измерений связаны двусторонними порталами. Порталы устроены так, что для каждой пары измерений существует ровно один способ добраться от одного до другого, путешествуя по порталам. Рику нужно распределить особые межпространственные значения $$$a_1, a_2 \ldots a_{n - 1}$$$ между порталами так, чтобы минимизировать общую суммарную энергетическую стоимость перемещений между всеми парами измерений. Стоимость перемещения равна сумме всех межпространственных значений порталов, через которые надо пройти на пути из одного измерения в другое.

Помоги Рику найти оптимальное распределение значений по рёбрам, чтобы свести к минимуму суммарные затраты энергии для перемещений между всеми парами измерений! В качестве ответа на задачу выведите минимально возможную сумму перемещений между всеми парами измерений.

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

В первой строке вводится целое число $$$n$$$ — количество измерений во вселенной ($$$2 \le n \le 5 \cdot 10^4$$$).

Во второй строке вводятся $$$n - 1$$$ целых чисел $$$a_1, a_2 \ldots a_{n - 1}$$$ — межпространственные значения ($$$1 \le a_i \le 10^9$$$).

В следующих $$$n - 1$$$ строках заданы пары целых чисел, описывающих порталы между измерениями.

В $$$i$$$-й строке вводится пара целых чисел $$$u_i, v_i$$$ — означающих, что существует портал между измерениями $$$u_i$$$ и $$$v_i$$$ ($$$1 \le u_i, v_i \le n$$$).

Гарантируется, что для каждой пары измерений существует единственный путь между ними.

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

Выведите единственное число — минимально возможную сумму перемещений между всеми парами измерений. Так как ответ может быть слишком большим, выведите его по модулю $$$10^9 + 7$$$.

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

H. Космический светофор
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Рик и Морти летели на своей летающей тарелке в «Blitz & Chitz». Так как они задержались с одним делом, то решили полететь короткой дорогой. Как обычно бывает, они встали перед светофором, который в каждый момент времени показывает, сколько осталось секунд до переключения сигнала. Светофор попался необычно большим, он состоит из n секций, каждая из которых состоит из семи индикаторов.

Отображение цифр на 7-сегментном индикаторе

Часть индикаторов перегорела, и они не загораются на светофоре. Раз ждать еще долго, Рик решил вздремнуть. Он просыпался $$$m$$$ раз, смотрел на светофор и ложился обратно. После того как проснулся в $$$m$$$-й раз, ему стало интересно, сколько времени показывал светофор, когда они только приехали. За 1 секунду сна Рика число на светофоре уменьшалось на 1. Также Морти сообщил Рику, что все это время на светофоре горел красный цвет. Если существует несколько вариантов исходного времени, найдите минимальное возможное время.

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

В первой строке вводится целое число $$$n$$$ — количество секций в светофоре $$$(1 \le n \le 4)$$$.

Во второй строке вводятся $$$n$$$ строк длины 7 из нулей и единиц, где $$$j$$$-й символ в $$$i$$$-й строке обозначает, работает ли $$$j$$$-й индикатор в $$$i$$$-й секции; 1 обозначает, что работает, 0 — нет. Секции пронумерованы от старшего разряда к младшему.

В третьей строке вводится целое число $$$m$$$ — количество раз, когда просыпался Рик $$$(1 \le m \le 10)$$$.

В следующих $$$m$$$ строках вводятся $$$t_i, s_1, s_2, \ldots, s_n$$$ — время в секундах, которое Рик спал после предыдущего бодрствования, и $$$n$$$ строк, которые обозначают, какие индикаторы горят на каждой секции светофора. $$$s_{i,j} = 1$$$ означает, что $$$j$$$-й индикатор в $$$i$$$-й секции горит, если $$$s_{i,j} = 0$$$ — не горит. Гарантируется, что все сломанные индикаторы не горят.

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

Выведите, какое минимальное время могло быть на светофоре, когда Рик и Морти приехали к нему. Гарантируется, что ответ существует.

Примеры
Входные данные
4
0000000 0000000 1010101 1011100
2
16 0000000 0000000 0010000 1011100
7 0000000 0000000 0010000 0010000
Выходные данные
34
Входные данные
2
1100001 0100111
3
3 1100001 0000101
33 1000001 0100011
7 1000001 0000101
Выходные данные
65
Примечание

В первом примере изначально на светофоре было число $$$34$$$, через 16 секунд после того как Рик поспал, на светофоре было число $$$18$$$. Еще через 7 секунд на светофоре было значение 11.

Нумерация индикаторов в одной секции

I. Немножко математики
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Морти так много путешествовал с Риком, что пропустил целую четверть в школе. Пока его не было, ребята из его класса прошли факториалы. Напомним, что факториал числа $$$n$$$ обозначается как $$$n!$$$ и равен произведению первых $$$n$$$ натуральных чисел, то есть $$$n! = 1 \cdot 2 \cdot 3 \cdot \ldots \cdot (n-1) \cdot n$$$.

Когда Морти пришел в класс, учитель математики дал ему интересную задачу. Он назвал число $$$k$$$ и попросил найти наибольшее натуральное число $$$n$$$, которое не больше $$$k$$$, такое, что $$$n = n!$$$.

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

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

В первой строке вводится целое число $$$k$$$ — число, которое назвал учитель ($$$1 \le k \le 10^5$$$).

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

Выведите единственное число $$$n$$$ — наибольшее натуральное число, которое не превосходит $$$k$$$, а также удовлетворяет равенству $$$n = n!$$$

Примеры
Входные данные
4
Выходные данные
2
Входные данные
2
Выходные данные
2
Входные данные
10
Выходные данные
2