Вы находитесь на странице: 1из 18

Заключительный этап республиканской олимпиады по учебному предмету «Информатика»

1 тур. Вариант 1, 2019/2020 учебный год

Задача 1. День Вселенной


Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 1 секунда
Ограничение по памяти: 256 мегабайт
День Вселенной — один из самых важных праздников на Марсе. В этот день марсиане впервые
запустили в космос искусственный спутник.
На празднике обычно проходят награждения ученых, встречи с космонавтами, праздничные шоу
и другие мероприятия. А в конце Дня Вселенной все жители города собираются на главной площади
и запускают в небо шарики всевозможных цветов и размеров.
В городе Олимп-Сити идет активное приготовление к празднику. Главная задача, которая сейчас
стоит перед организаторами — закупка шаров.
Шарики бывают n различных размеров, от 1 до n. При этом шарик размера i стоит ровно i
марсианских рублей.
От размеров шаров зависит, насколько красиво они будут выглядеть в полете. Жители города
решили, что красота полета шаров будет вычисляться следующим образом. Пусть ai — число шаров
размера i. Тогда красота будет равна
n
X
u = k · min (ai ) + a2i ,
i=1..n
i=1
где k — это некоторая величина, которая зависит от погодных условий.
Как можно заметить, если закупить больше шаров, то и красота увеличится, но не все так
просто! Из бюджета на покупку было выделено всего s марсианских рублей, поэтому необходимо
максимизировать красоту и уложиться в бюджет.
К сожалению, различных способов купить шарики очень много, и никто не знает, какой из
них лучше. Вы решили помочь жителям Олимп-Сити и написать программу, которая вычислит
максимально возможную красоту, которую можно получить.
Формат входных данных
В первой строке входных данных находится целое число t (1 6 t 6 20) — число тестовых приме-
ров. Далее содержится описание тестовых примеров.
Единственная строка каждого тестового примера содержит три целых числа n, s, k (1 6 n 6 109 ,
1 6 s 6 2 · 109 , 1 6 k 6 109 ) — количество размеров шаров, сумма, которую можно потратить, и
величина, которая зависит от погодных условий.
Формат выходных данных
Выведите t строк, по одному числу в каждой строке. i-я строка должна содержать целое число
b — максимально возможная красота полета шаров в i-м тестовом примере.
Система оценки
Ограничения Необходимые
Подзадача Баллы
n s k подзадачи

1 5 k=1
2 5 k=2
3 6 n=2 s 6 105 k 6 109
4 7 n 6 100 s6n k 6 109
5 11 n 6 109 s 6 1000 k 6 109 4
6 14 n 6 109 s 6 105 k 6 109 3, 4, 5
7 52 n 6 109 s 6 2 · 109 k 6 109 1–6

Страница 1 из 10
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
1 тур. Вариант 1, 2019/2020 учебный год

Пример
стандартный ввод стандартный вывод
3 2
1 1 1 4
2 2 3 37
3 6 34

Замечание
В первом тестовом примере все шары одного типа, при этом можно потратить один марсианский
рубль. Единственный способ сделать это — купить один шар первого типа. Тогда полезность будет
равна s = 1 · 1 + 12 = 2.
Во втором тестовом примере мы покупаем два шара первого типа. Тогда a1 = 2, a2 = 0, а ответ
будет равен s = 3 · min(2, 0) + 22 + 02 = 4.
В третьем примере оптимальный вариант — купить по одному шару каждого типа. На них мы
потратим ровно 1+2+3 = 6 марсианских рублей, и ответ будет равен 34·min(1, 1, 1)+12 +12 +12 = 37.

Страница 2 из 10
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
1 тур. Вариант 1, 2019/2020 учебный год

Задача 2. Вулканы на Венере


Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 3 секунды
Ограничение по памяти: 256 мегабайт
Жителям Венеры доставляет немало проблем вулканическая активность — на поверхности этой
планеты находится много вулканов. Были приложены немалые усилия, чтобы ликвидировать по-
следствия извержений.
Вся территория Венеры разделена на несколько областей. Каждая из областей этой планеты
может быть разделена на районы, эти районы разделены, в свою очередь, на более мелкие районы
и т. д. Таким образом, административное деление этой планеты можно представить в виде дерева,
вершины которого — районы планеты, пронумерованные для удобства целыми числами. Корень
дерева — район с номером 1 — обозначает всю Венеру. Всего на Венере n районов, пронумерованных
целыми числами от 1 до n.
Будем говорить, что район r вложен в район p, если он является частью района p, либо вложен
в какой-либо из районов, из который состоит p. Иными словами, r должен быть потомком p в дереве
(не обязательно прямым).
В каждом районе планеты расположен Центр ликвидации последствий вулканической активно-
сти (ЦЛПВА). Каждый из таких Центров начинает действовать, как только в районе объявляется
высокий уровень опасности, и тогда такой район называется опасным. Стоит отметить интересную
особенность: может получиться так, что некоторый район r является опасным, а никакой из более
мелких районов, вложенных в r, опасным не является.
Когда несколько ЦЛПВА действуют одновременно, им требуется грамотное руководство. Для
этого объявляется руководящий район. На него накладывается два важных условия:

1. В руководящий район должны вкладываться все остальные опасные районы. При этом сам
руководящий район необязательно должен быть опасным.

2. Руководящий район должен быть как можно меньше. Известно, что район r меньше, чем район
p, если r вложен в p.

Поскольку вулканическая активность на Венере очень изменчива, то часто руководящий район


меняется. Чтобы упростить работу ЦЛПВА на планете, Вам было поручено разработать программу,
которая обрабатывает события следующего вида:

1. В i-м районе объявлен высокий уровень опасности, т. е. район становится опасным.

2. В i-м районе высокий уровень опасности снимается, т. е. район больше опасным не является.

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

Иллюстрация к первому примеру

Страница 3 из 10
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
1 тур. Вариант 1, 2019/2020 учебный год

Формат входных данных


В первой строке входных данных находится целое число n (1 6 n 6 5 · 105 ) — количество районов
на Венере.
Далее содержится n строк с описанием районов. В i-й из этих строк находится сначала целое
число k (0 6 k 6 n − 1), а затем k целых чисел pj (1 6 pj 6 n) — районы, на которые разбит i-й
район.
В следующей строке находится целое число q (1 6 q 6 5 · 105 ) — количество событий.
В каждой из следующих q строк находится два целых числа ti и vi (1 6 ti 6 2, 1 6 vi 6 n) — тип
события и район, в котором это событие произошло. Если ti = 1, то тогда в vi -м районе объявлен
высокий уровень опасности, а если ti = 2, то тогда vi -й район перестает быть опасным.
Гарантируется, что события корректны, т. е. если вершина становится опасной в некотором со-
бытии, то до этого она была безопасной, и наоборот.
Формат выходных данных
Выведите q чисел, по одному числу в каждой строке. i-я строка должна содержать одно целое
число gi (1 6 gi 6 n) — район, который стал руководящим после i-го события. Если после i-го
события все вершины безопасны, то выведите 0.
Система оценки

Ограничения Необходимые
Подзадача Баллы
n, q дополнительно подзадачи

1 13 n, q 6 300
2 14 n, q 6 2000 1
3 14 n, q 6 5000 1, 2
4 17 n = 2k − 1, 1 6 k 6 17 дано полное бинарное дерево
5 15 n, q 6 2 · 105 все ti = 1
6 21 n, q 6 2 · 105 1–5
7 6 n, q 6 5 · 105 1–6

Выражение «дано полное бинарное дерево» следует понимать так. Все районы с номерами мень-
ше, чем n2 , разбиты на два района, причем i-й район разбит на районы с номерами 2i и 2i + 1. А
районы с номерами, большими n2 , не разбиты на меньшие.

Страница 4 из 10
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
1 тур. Вариант 1, 2019/2020 учебный год

Примеры
стандартный ввод стандартный вывод
7 1
2 2 3 0
2 4 5 4
2 6 7 2
0 1
0 1
0 1
0 3
10 6
1 1 3
2 1
1 4
1 5
1 6
1 7
2 5
2 4
2 7
1 3
4 4
1 2 4
1 4 1
0 4
1 3
4
1 4
1 3
1 1
2 1
5 2
4 2 3 4 5 1
0 3
0 1
0 1
0 1
6
1 2
1 3
2 2
1 5
1 2
2 5

Замечание
Дерево в первом примере выглядит, как на рисунке выше. Рассмотрим все произошедшие собы-
тия.

• После первого события район 1 стал опасным. Тогда все остальные вершины вложены в этот
район, поэтому не могут быть руководящими. Следовательно, руководящим становится первый
район.

Страница 5 из 10
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
1 тур. Вариант 1, 2019/2020 учебный год

• После второго события все районы безопасны. Тогда считаем, что ответ равен нулю.

• После третьего события опасным является только четвертый район, поэтому он и будет яв-
ляться руководящим. Район 4 вложен в районы 1 и 2, однако районы 1 и 2 не могут являться
руководящими, как как район 4 меньше.

• После четвертого события район 5 становится опасным. Он не вложен в район 4, поэтому


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

• После пятого события добавляется район 6, не вложенный в 2. Таким образом, руководящим


становится первый район.

• После шестого события район 7 становится опасным. Руководящий район не изменяется.

• После седьмого и восьмого событий руководящим становится район 3, поскольку опасными


являются только вложенные в него районы 6 и 7.

• После девятого события остается единственный район 6, который будет являться руководя-
щим.

• После десятого события район 3 становится опасным. Он будет являться руководящим, по-
скольку все остальные районы (т. е. только шестой) будут вложены в него.

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

Страница 6 из 10
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
1 тур. Вариант 1, 2019/2020 учебный год

Задача 3. Любимые игрушки


Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 3 секунды
Ограничение по памяти: 256 мегабайт
Это интерактивная задача.
У Афанасия, сына марсианского садовника Казимира Казимировича, есть n игрушек, для удоб-
ства пронумеруем их целыми числами от 1 до n.
С какими-то из игрушек сыну Казимира Казимировича нравится играть больше, с какими-то —
меньше. Для удобства будем считать, что у i-й игрушки есть предпочтительность pi . Предпочти-
тельности игрушек образуют перестановку, то есть все pi различны, а также выполняется 1 6 pi 6 n.
Игрушка с предпочтительностью 1 нравится Афанасию больше всего, а с предпочтительностью n —
меньше всего.
Афанасий еще маленький и не знает много слов, поэтому не может сказать, какая у него самая
любимая игрушка. Единственное понятие, которое он знает — это «медиана» (удивительно, но это
первое слово, которое учат марсианские дети). То есть, если перед Афанасием некоторое нечетное
количество игрушек k, он выберет из них ту, которая стояла бы на k+1 2 -м месте, если их отсорти-
ровать по возрастанию предпочтительности. Например, если перед Афанасием лежат игрушки с
значениями предпочтительности 4, 8, 1, 6 и 9, то он выберет игрушку с предпочтительностью 6,
поскольку она стоит на 5+1
2 = 3-м месте в отсортированном порядке (1, 4, 6, 8, 9).
Казимир Казимирович решил выяснить предпочтения своего сына. Он узнал, что игрушка с
номером 1 нравится Афанасию больше, чем игрушка с номером n (т. е. p1 < pn ). Чтобы узнать
остальную информацию, Казимир Казимирович может показать сыну какой-либо набор игрушек
нечетного размера и попросить выбрать из них медиану.
Казимир Казимирович хочет сегодня посадить новый сорт двоичных деревьев в своем саду,
поэтому он не станет задавать своему сыну больше, чем k вопросов. Садовник обратился к Вам,
чтобы Вы помогли ему узнать значения pi на более, чем за k вопросов.
Протокол взаимодействия
Сначала на вход подается два целых числа n и k (2 6 n 6 1300, 1 6 k 6 2020) — количе-
ство игрушек у Афанасия и количество вопросов, которые может задать Казимир Казимирович.
После считывания этих двух чисел программа-решение должна интерактивно взаимодействовать с
программой жюри, задавая вопросы про медиану некоторого набора игрушек.
Чтобы задать вопрос, необходимо вывести в одной строке через пробел сначала символ «?», затем
целое число l, а затем l целых чисел ai (1 6 l 6 n, 1 6 ai 6 n) — номера игрушек, для которых
Афанасий должен найти медиану. При этом l должно быть нечетным, а все ai — различными.
В ответ на вопрос программы-решения программа жюри подает ей на вход целое число x
(1 6 x 6 n) — номер игрушки, которая является медианой, т. е. находилось бы на l+1 2 -м месте
в отсортированном порядке l игрушек из запроса.
Вы можете задать программе жюри не более, чем k вопросов.
Если программа-решение определила ответ на задачу, то она должна вывести в одной строке
через пробел сначала символ «!», а затем n целых чисел pi (1 6 pi 6 n) — значения предпочти-
тельности игрушек. Все pi должны быть различны. После вывода этой строки программа-решение
должна немедленно завершиться.
После каждого действия Вашей программы Вы должны делать перевод строки и сбрасывать
поток вывода. Если Вы используете «writeln» в Pascal, «cout << .. << endl;» в C++, «print» в
Python, то сброс потока вывода происходит автоматически, ничего дополнительно делать не требует-
ся. Если Вы используете другой способ вывода, рекомендуется делать сброс потока вывода. Обрати-
те внимание, что перевод строки надо выводить в любом случае. Для сброса потока вывода можно
использовать «fflush(stdout)» в С и С++, «flush(output)» в Pascal, «sys.stdout.flush()» в
Python.
Если Вы получаете вердикт «Idleness Limit Exceeded» (IL), то это обозначает, что Ваша про-
грамма ожидает ввода, но данных в стандартном потоке ввода нет. Это может произойти, например,

Страница 7 из 10
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
1 тур. Вариант 1, 2019/2020 учебный год

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

Ограничения Необходимые
Подзадача Баллы
n k подзадачи

1 7 n68 k = 2020
2 8 n68 k = 42 1
3 15 n68 k = 13 1, 2
4 17 n 6 100 k = 2020 1, 2
5 17 n 6 500 k = 2020 1, 2, 4
6 23 n 6 1000 k = 2020 1, 2, 4, 5
7 13 n 6 1300 k = 2020 1–6

Пример
стандартный ввод стандартный вывод
5 20
? 5 4 1 2 3 5
4
? 3 2 4 5
5
? 3 1 3 4
3
! 1 5 2 3 4

Замечание
В примере выше значения pi были равны 1, 5, 2, 3 и 4 соответственно.
В первом вопросе были заданы игрушки c номерами 4, 1, 2, 3 и 5. Если их в порядке возрастания
предпочтительности, то мы получим последовательность 1 3 4 5 2. Медианой будет являться игрушка
на позиции 5+1
2 = 3 в отсортированном массиве, т. е. игрушка 4.
Во втором вопросе предпочтительности игрушек равны 5, 3 и 4 соответственно. Медианой будет
являться игрушка с предпочтительностью 4, т. е. игрушка номер 5.
В третьем вопросе предпочтительности игрушек равны 1, 2 и 3 соответственно. Медианой явля-
ется игрушка с предпочтительностью 2, т. е. с номером 3.

Страница 8 из 10
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
1 тур. Вариант 1, 2019/2020 учебный год

Задача 4. Ракета на нейтринной тяге


Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 10 секунд
Ограничение по памяти: 256 мегабайт
Вам уже известно, что марсиане активно занимаются исследованием космоса. Особенно их ин-
тересует межпланетные полеты.
Недавно ученые изобрели мощный двигатель на основе нейтрино и собираются построить ракету
на его основе. Такая ракета будет способна летать со скоростью, близкой к скорости света.
Ракета будет состоять из n ступеней, первая из которых располагается ближе всего к двигателю,
а последняя — дальше всего. Ширина каждой ступени wi выражается некоторым целым числом
миллиметров, причем для i-й ступени известно, что ее ширина должна лежать в диапазоне от li до
ri миллиметров включительно.
После того, как выбрана ширина всех n ступеней, можно вычислить мощность ракеты, которая
равна наибольшему общему делителю (НОД) всех wi . Т. е. если ширина ступеней составляет 4, 8, 6
и 42 миллиметра соответственно, то мощность ракеты будет равна НОД(4, 8, 6, 42) = 2.
К сожалению, различных способов выбрать ширину ступеней очень много, и никто не знает,
какой из них лучше. Но ученые решили, что количество способов само по себе представляет научный
интерес.
Вам поручили помочь ученым и для каждой мощности w вычислить количество способов вы-
брать ширину ступеней так, чтобы мощность ракеты была равна w. Два способа считаются различ-
ными, если для некоторого i (1 6 i 6 n) значения wi различаются в этих способах.
Как было упомянуто ранее, способов очень много, поэтому Вам требуется выводить не само
количество способов, а лишь его остаток от деления на 109 + 7.
Формат входных данных
В первой строке входных данных находится два целых числа n и m (1 6 n, m 6 3 · 105 ) —
количество ступеней ракеты и максимально возможный размер ступени в миллиметрах.
В каждой из следующих n строк входных данных находится по два целых числа li и ri
(1 6 li 6 ri 6 m) — ограничения на размеры i-й ступени в миллиметрах.
Формат выходных данных
В единственной строке выведите m целых чисел через пробел.
Пусть ai (1 6 i 6 m) — количество способов сделать мощность ракеты равной i, выбрав ширину
ступеней требуемым образом. Тогда i-е число в выходных данных должно быть равно остатку от
деления ai на 109 + 7.
Система оценки

Ограничения Необходимые
Подзадача Баллы
n m подзадачи

1 7 n62 m 6 300
2 28 n 6 500 m 6 500 1
3 14 n 6 2000 m 6 2000 1, 2
4 15 n 6 6000 m 6 6000 1, 2, 3
5 16 n 6 105 m 6 105 1–4
6 20 n 6 3 · 105 m 6 3 · 105 1–5

Страница 9 из 10
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
1 тур. Вариант 1, 2019/2020 учебный год

Примеры
стандартный ввод стандартный вывод
3 3 25 1 1
1 3
1 3
1 3
2 5 10 3 1 1 0
1 5
2 4
3 10 428 55 17 7 2 1 1 1 0 0
1 8
2 9
3 10
4 10 0 1 0 0 0 0 0 0 0 0
2 2
4 4
6 6
8 8

Замечание
Наибольшим общим делителем множества чисел a1 , a2 , . . . , an называется максимальное целое
число p > 1 такое, что все числа ai из множества делятся на p без остатка.
Рассмотрим первый пример. В нем всего 3 · 3 · 3 способа выбрать ширину ступеней (по три
способа для каждой ступени). Из них существует только один способ достичь мощности, равной
трем: сделать ширину всех ступеней равной трем. Аналогично существует только одни способ до-
стичь мощности два — сделать все ступени ширины два. Оставшиеся 27 − 1 − 1 = 25 способов дают
мощность 1.
Во втором примере существует три способа добиться мощности равной двум: (2, 2), (2, 4) и (4, 2).
Можно заметить, что (3, 3) — единственный способ добиться мощности 3, а (4, 4) — единственный
способ добиться мощности 4. Остальные способы дают мощность 1.
В четвертом примере ширина всех ступеней определяется однозначно — 2, 4, 6 и 8. Наибольший
общий делитель этих четырех чисел равен двум, поэтому мощность ракеты также равна двум.

Страница 10 из 10
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
2 тур. Вариант 1, 2019/2020 учебный год

Задача 1. Сорняки
Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 2 секунды
Ограничение по памяти: 256 мегабайт
Казимир Казимирович, марсианский садовник, недавно решил расширить свой сад. Он купил
новый земельный участок. Этот участок представляет собой прямоугольник, разбитый в длину на
n квадратов. Пронумеруем квадраты целыми числами от 1 до n, i-й квадрат граничит только с
квадратами i − 1 и i + 1, если такие существуют.
К сожалению, не все квадраты пригодны для садоводства: в некоторых из них находятся непро-
ходимые заросли сорняков, остальные квадраты считаются пустыми. Для уничтожения сорняков у
Казимира Казимировича есть специальный агрегат — автоматический пропалыватель.
В начале работы Казимир Казимирович стоит с пропалывателем в пустом квадрате с номером s.
За один шаг он может переместиться вместе с агрегатом в один из соседних квадратов, причем если
в этом квадрате находились сорняки, то они уничтожаются, а квадрат становится пустым. Топлива
в пропалывателе хватает, чтобы совершить не более k таких шагов.
После окончания прополки садовник не может больше ходить по сорнякам. Он может сколько
угодно раз перемещаться в один из пустых квадратов. В каждой из пустых квадратов, до которой
садовник может дойти, он высаживает одно бинарное дерево.
Садовника заинтересовало: сколько же наибольшее число бинарных деревьев он может высадить,
если будет действовать оптимально?
Формат входных данных
В первой строке входных данных находится три целых числа n, k и s (1 6 n 6 106 , 0 6 k 6 109 ,
1 6 s 6 n) — количество квадратов, на которые разделен участок, максимальное количество шагов
и номер квадрата, на котором стоит Казимир Казимирович.
Во второй строке находится строка s длины n — описание участка. Если i-й символ строки равен
«#», то i-й квадрат содержит заросли сорняков, а если i-й символ равен «.», то i-й квадрат пуст.
Гарантируется, что квадрат с номером s является пустым.
Формат выходных данных
Выведите одно целое число — наибольшее количество деревьев, которые сможет посадить Кази-
мир Казимирович, если будет действовать оптимально.
Система оценки

Ограничения Необходимые
Подзадача Баллы
n дополнительно подзадачи

1 17 n 6 200
2 19 n 6 5000 1
все квадраты, за исключением s,
3 14 n 6 106
содержат сорняки
4 50 n 6 106 1, 2, 3

Страница 1 из 8
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
2 тур. Вариант 1, 2019/2020 учебный год

Примеры
стандартный ввод стандартный вывод
10 1 1 10
.#........
10 1 3 8
.#.#......
10 2 3 8
.#.#......
10 3 3 10
.#.#......
10 5 1 6
.#########

Замечание
В первом примере садовник за один шаг пропалывает сорняк во втором квадрате. Затем он
сможет пройти в любой квадрат поля и посадить там деревья.
Во втором и третьем примерах Казимиру Казимировичу не хватает шагов, чтобы прополоть оба
квадрата с сорняками. Оптимально прополоть квадрат 4, чтобы затем высадить деревья в восьми
квадратах (кроме квадрата 2 с сорняками, и пустого квадрата 1, который недостижим, если не
ходить через заросли сорняков).
Обратите внимание, что он сначала занимается прополкой, а только после ее окончания выса-
живает деревья, т. е. он не может сначала прополоть квадрат 4, затем высадить дерево в третьем
квадрате, а затем прополоть квадрат 2.
В четвертом примере он может уничтожить все сорняки. Для этого он должен сделать три шага:
сначала на квадрат 4, затем на квадрат 3, а после этого — на квадрат 2.

Страница 2 из 8
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
2 тур. Вариант 1, 2019/2020 учебный год

Задача 2. Очаровательные нейтрино


Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 2 секунды
Ограничение по памяти: 256 мегабайт
Марсианские ученые, разработав двигатель на нейтринной тяге, не остановились на достигнутом
и начали искать способы, как усовершенствовать двигатель.
Принцип работы двигателя основан на вращении n нейтрино вокруг стержня. Все нейтрино в
двигателе можно пронумеровать слева направо целыми числами от 1 до n.
Для каждого нейтрино известна его очаровательность — квантовая величина, которая выра-
жается целым положительным числом.
Ученые, проведя серию экспериментов с нейтрино, выяснили следующее. Если очаровательность
всех нейтрино делится без остатка на минимальную очаровательность нейтрино в двигателе, то это
приводит к увеличению мощности двигателя.
Таким образом, чтобы увеличить мощность двигателя, необходимо изменить очаровательность
некоторых нейтрино. Но изменять эту величину ученые пока не умеют. Все, что они могут сделать —
это удалить некоторое количество нейтрино с начала и с конца стержня, при этом должен остаться
хотя бы один нейтрино. Иными словами, они могут оставить любой непустой отрезок последова-
тельных нейтрино.
Ученых заинтересовало, сколькими способами они могут оставить отрезок таким способом, что-
бы мощность двигателя увеличилась. Помогите ученым и напишите программу, которая решает эту
задачу.
Формат входных данных
В первой строке входных данных находится целое число n (1 6 n 6 5·105 ) — количество нейтрино
в двигателе.
Во второй строке входных данных находится n целых чисел ai (1 6 ai 6 106 ) — очаровательность
i-го нейтрино.
Формат выходных данных
Выведите одно целое число — количество непустых отрезков, в которых симпатичность всех
нейтрино делится без остатка на минимальную симпатичность в этом отрезке.
Система оценки

Ограничения Необходимые
Подзадача Баллы
n ai дополнительно подзадачи

1 16 n 6 200 ai 6 106
2 16 n 6 5000 ai 6 106 1
3 16 n 6 2 · 105 ai 6 4
4 16 n 6 2 · 105 ai 6 106 1, 2, 3
5 16 n 6 5 · 105 ai 6 n все ai различны
6 20 n 6 5 · 105 ai 6 106 1–5

Страница 3 из 8
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
2 тур. Вариант 1, 2019/2020 учебный год

Примеры
стандартный ввод стандартный вывод
5 8
2 3 4 2 4
10 19
1 2 3 4 5 6 7 8 9 10
10 55
10 10 10 10 10 10 10 10 10 10

Замечание
В первом примере подходят все отрезки длины один (2), (3), (4), (2), (4), а также отрезки (4 2),
(2 4) и (4 2 4).
Во втором примере подходят все отрезки длины один (всего десять штук), а также все отрезки,
которые начинаются с 1 (еще девять штук). Итого получаем 10 + 9 = 19.
В третьем примере подходят все 1 + 2 + 3 + · · · + 10 = 55 отрезков.

Страница 4 из 8
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
2 тур. Вариант 1, 2019/2020 учебный год

Задача 3. Марсианские Игры


Имя входного файла: стандартный ввод
Имя выходного файла: стандартный вывод
Ограничение по времени: 2 секунды
Ограничение по памяти: 256 мегабайт
Скоро наступает одно из важнейших спортивных мероприятий на Марсе — Марсианские Игры!
В них принимают участия спортсмены со всех регионов Марса.
Сергей Петрович, тренер сборной города Олимп-Сити, тоже готовит своих спортсменов к Играм.
Он тренирует n спортсменов, k из который поедут на Игры. Перед тренером встал непростой вопрос:
необходимо решить, кто попадет в сборную.
Соревнования проходят на Марсе в два этапа: бег с препятствиями и плавание, причем каждый
спортсмен проходит оба этапа. Тренер подсчитал, что i-й спортсмен сможет пробежать за ai минут,
а проплыть — за bi минут.
На Марсианских Играх есть одна особенность: личные результаты спортсменов практически не
учитываются, а основную роль играет штрафное время команды. В соревнованиях штрафное время
команды вычисляется по формуле
X   X 
s= ai · bi ,

т. е. произведение суммарного времени забега на суммарное время, за которое все участники коман-
ды проплыли дистанцию. Чем меньше штрафное время команды — тем выше место.
Например, пусть есть три спортсмена, которые пробежали за время 3, 8 и 5 минут со-
ответственно, а проплыли — за 4, 9 и 1 минуту. Тогда штрафное время команды равно
s = (3 + 8 + 5) · (4 + 9 + 1) = 16 · 14 = 224.
Сергей Петрович хочет выбрать k спортсменов таким образом, чтобы минимизировать штрафное
время команды. Помогите тренеру и напишите программу, которая сможет подобрать оптимальную
команду на соревнования.
Формат входных данных
В первой строке входных данных находится два целых числа n и k (1 6 k 6 n 6 2000) —
количество спортсменов Сергея Петровича и требуемый размер сборной на Марсианских Играх.
В каждой из следующих n строк находится по два целых числа ai и bi (1 6 ai , bi 6 106 ) —
количество минут, за которые i-й спортсмен сможет пробежать и проплыть дистанцию.
Формат выходных данных
Выведите k различных целых чисел qi (1 6 qi 6 n) — номера спортсменов, которые попадут в
сборную при оптимальном выборе.
Если оптимальных способов выбрать спортсменов несколько, выведите любой из них.
Система оценки

Ограничения Необходимые
Подзадача Баллы
n ai , bi подзадачи

1 8 n 6 25 ai , bi 6 10
2 12 n 6 25 ai , bi 6 106 1
3 21 n 6 60 ai , bi 6 60 1
4 13 n 6 100 ai , bi 6 100 1, 3
5 16 n 6 800 ai , bi 6 800 1, 3, 4
6 30 n 6 2000 ai , bi 6 106 1–5

Страница 5 из 8
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
2 тур. Вариант 1, 2019/2020 учебный год

Примеры
стандартный ввод стандартный вывод
4 2 2 4
3 9
4 4
9 3
5 5
5 3 1 2 3
1 1
2 2
3 3
4 4
5 5
10 8 5 7 6 9 1 4 8 2
12 1
13 4
1 33
10 10
5 5
1 19
3 12
10 10
7 7
33 2
5 2 1 2
1 1
1 1
1 1
1 1
1 1

Замечание
В первом примере, если взять второго и четвертого спортсменов, то команда Олимп-Сити полу-
чит штрафное время (4 + 5) · (4 + 5) = 81, что является оптимальным.
В четвертом примере можно выбрать любых двух спортсменов, т. е. допустимо вывести в каче-
стве ответа любые два различных целых числа от 1 до 5.

Страница 6 из 8
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
2 тур. Вариант 1, 2019/2020 учебный год

Задача 4. Ускоритель частиц


Имя входного файла: input1.txt, ..., input10.txt
Имя выходного файла: output1.txt, ..., output10.txt
Марсианские ученые при поддержке крупной компании «Interplanetary Software, Inc.» строят
новый ускоритель частиц. Ускоритель представляет собой n детекторов, соединенных между собой
двунаправленными тоннелями. При этом известно, что из каждого детектора выходит ровно 2k
тоннелей. Таким образом, общее количество тоннелей равно nk.
Теперь необходимо проложить ускорительные кольца. Каждое из таких колец должно представ-
лять собой цикл, проходящий через некоторое число детекторов и соединяющих их тоннелей. В
каждом кольце должно быть не менее трех детекторов.
Пусть кольцо проходит через детекторы с номерами i1 , i2 , . . . i` . Тогда будет задействовано ровно
` тоннелей: от i1 до i2 , от i2 до i3 , . . . , от i`−1 до i` и от i` до i1 . Все эти тоннели должны существовать,
строить новые запрещается.
Чтобы не происходило непреднамеренное столкновение частиц из разных ускорительных колец,
через один детектор может проходить не более одного ускорительного кольца.
Детекторы — оборудование дорогостоящее, поэтому желательно задействовать их все. А именно,
необходимо построить ускорительные кольца таким образом, чтобы максимизировать число детек-
торов, через которые проходит кольцо.
Вам, как программисту, который работает в «Interplanetary Software, Inc.», поручили разработать
план оптимального расположения ускорительных колец так, чтобы задействовать как можно больше
детекторов.
Формат входных данных
Входные данные находятся в файлах input1.txt, input2.txt, . . . , input10.txt.
Первая строка входных данных содержит целое число t — номер теста (для примера из условия
t = 0).
Вторая строка входных данных содержит два целых числа n и k (k < n2 ) — количество детекторов
и количество тоннелей, выходящих из каждого детектора.
Каждая из следующих nk строк содержит два целых числа ui и vi (1 6 ui , vi 6 n, ui 6= vi ) —
номера детекторов, которые соединяет i-й тоннель.
Гарантируется, что через любую пару детекторов проходит не более одного тоннеля.
Формат выходных данных
На проверку необходимо сдать выходные файлы с названиями output1.txt, output2.txt,
. . . , output10.txt, где выходной файл outputX.txt должен соответствовать входному файлу
inputX.txt.
В первой строке выходных данных выведите целое число r — количество ускорительных колец
в Вашем решении.
В каждой из следующих r строк выведите сначала целое число ci (3 6 ci 6 n), а затем — ci
различных целых чисел di,j (1 6 di,j 6 n) — номера детекторов, через которые проходит i-е кольцо.
Номера должны быть указаны в том же порядке, в котором они идут в кольце.
Никакой детектор не должен содержаться более чем в одном кольце.
Система оценки
Если выходной файл не соответствует указанному формату выходных данных, то Вы получите
0 баллов за тест.
Пусть ans — количество задействованных детекторов в Вашем решении, а n — общее количество
детекторов.
2 Ваш балл за тест будет равен 10, если ans = n. Иначе Ваш балл за тест будет равен
7 · ans
n .
Баллы за каждый тест округляются вверх до сотых и суммируются. Правила округления таковы,
что, например, при округлении числа 10.112 вверх до сотых получаем число 10.12.

Страница 7 из 8
Заключительный этап республиканской олимпиады по учебному предмету «Информатика»
2 тур. Вариант 1, 2019/2020 учебный год

Пример
input1.txt, ..., input10.txt output1.txt, ..., output10.txt
0 1
6 2 5 1 2 3 4 5
1 2
1 3
1 4
1 5
6 2
6 3
6 4
6 5
2 3
3 4
4 5
5 2

Замечание
Рассмотрим пример.
В этом примере можно построить одно кольцо 1 − 2 − 3 − 4 − 5, проходящее через тоннели 1 − 2,
2 − 3, 3 − 4, 4 − 5 и 5 − 1. Оно проходит
2 через пять детекторов из шести, поэтому за такой ответ
программа оценивания выставит 7 · 65 = 4.87 балла.
Кольцо 1 − 2 − 6 − 3 − 4 − 5 или пара колец (1 − 2 − 3 и 4 − 5 − 6) давали бы 10 баллов за тест.

Страница 8 из 8

Вам также может понравиться