Муниципальный этап ВсОШ по информатике (программирование) 10-11 класс, Свердловская область, 2025
A. Симфония будильников
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Совунья, Лосяш и Пин устроили музыкальный эксперимент: их будильники начинают звонить одновременно в 8:00, а затем повторяются каждые $$$a$$$, $$$b$$$ и $$$c$$$ минут соответственно. Совунья уверяет, что иногда получается «аккорд», когда одновременно звучат хотя бы два устройства.

За первые $$$T$$$ минут (включительно) посчитайте, сколько раз Смешарики услышат такой «аккорд», т.е. сколько существует таких моментов $$$0 \le t \le T$$$, когда прозвонят хотя бы два будильника. Момент $$$t=0$$$ соответствует времени 8:00.

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

Ввод содержит четыре целых числа, по одному в строке: $$$a$$$, затем $$$b$$$, затем $$$c$$$, затем $$$T$$$.

Ограничения: $$$1 \le a, b, c \le 1000$$$, $$$0 \le T \le 10^{12}$$$.

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

Выведите одно целое число — количество моментов времени $$$t$$$ в отрезке $$$[0, T]$$$, когда одновременно звенят хотя бы два будильника.

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

Тесты разделены на группы. В группе $$$1$$$ оценка потестовая ($$$25$$$ тестов по $$$2$$$ балла), баллы за группу $$$2$$$ начисляются только если пройдены все тесты данной группы.

ГруппаОграниченияБаллыНеобходимые группы
1$$$T\le 2\cdot 10^5$$$50
2$$$T\le 2\cdot 10^{12}$$$501
Примеры
Входные данные
2
3
5
31
Выходные данные
9
Входные данные
2
2
2
8
Выходные данные
5

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

Смешарики очень любят играть в настолки. За несколько лет у них накопилось много карточек от разных игр. Крош и Ёжик решили сравнить свои запасы. Для этого они придумали новую игру. В свой ход каждый должен выложить в ряд ровно на одну карточку больше, чем соперник. Первый ход делает Крош и выкладывает $$$1$$$ карточку, затем Ёжик $$$2$$$ карточки, Крош $$$3$$$ и так далее. Проигрывает тот, кто в свой ход не может выложить требуемое количество карточек.

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

У Кроша есть $$$n$$$ карточек, у Ёжика — $$$m$$$. Нужно определить, кто выиграет и сколько карточек останется у каждого в момент окончания игры.

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

В первой строке дано целое число $$$n$$$ — количество карточек у Кроша. Во второй строке дано целое число $$$m$$$ — количество карточек у Ёжика ($$$0 \le n, m \le 10^{18}$$$).

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

В первой строке выведите номер победителя: $$$1$$$, если победит Крош, или $$$2$$$, если победит Ёжик. Во второй строке выведите два числа: сколько карточек останется у Кроша и у Ёжика в конце игры соответственно.

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

Тесты разделены на $$$2$$$ группы. В группе $$$1$$$ оценка потестовая (за каждый пройденный тест начисляется 2 балла). За вторую группу баллы начисляются, только если пройдены все тесты и первой, и второй группы.

ГруппаОграниченияБаллыНеобходимые группы
1$$$0\le n,m\le 2\cdot 10^9$$$70
2$$$0\le n,m\le 10^{18}$$$301
Пример
Входные данные
3
5
Выходные данные
2
2 3
Примечание

В примере у Кроша 3 карточки, у Ёжика 5. Крош выкладывает одну карточку, Ёжик две. Крош должен выложить три карточки, но у него осталось всего две. Выиграл Ёжик, у Кроша осталось две карточки, у Ёжика три.

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

Смешарики очень любят играть в пинг-понг. Однажды они решили устроить Большой Турнир Смешариков по круговой системе один на один. На турнир записалось целых $$$N$$$ игроков, каждому присвоен номер от $$$1$$$ до $$$N$$$. К сожалению, у Смешариков всего один стол, поэтому игры могут идти только последовательно. Пин отвечает за расписание матчей: он хочет составить такой список всех пар игроков (каждая пара встречается ровно один раз), чтобы в этом списке любые два соседних матча не имели общих игроков, так как играть две игры подряд очень утомительно. Крош с Нюшей уверяют, что это возможно при достаточно большом $$$N$$$, но Лосяш сомневается.

Помогите Пину составить верное расписание, если это возможно.

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

В первой строке дано одно целое число $$$N$$$ ($$$2 \le N \le 100$$$) — количество игроков.

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

Выведите $$$m=\frac{N(N-1)}{2}$$$ строк. В каждой строке через пробел выведите два различных числа $$$u\ v$$$ ($$$1 \le u,v \le N$$$) — номера игроков в паре. Каждая неупорядоченная пара игроков должна встретиться ровно один раз, в любых соседних строках все числа должны быть различны.

Если подходящая последовательность не существует, выведите $$$-1$$$.

Номера игроков можно выводить в любом порядке. Если существует несколько решений, выведите любое подходящее.

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

В задаче 50 тестов, каждый оценивается в 2 балла.

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

ГруппаОграниченияБаллыНеобходимые группы
1$$$N\le 30$$$50
2$$$N\le 100$$$501
Примеры
Входные данные
5
Выходные данные
2 5
4 3
1 5
2 3
4 1
5 3
2 4
1 3
4 5
2 1

Входные данные
3
Выходные данные
-1

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

Во время урока математики в Ромашковой долине Крош увлечённо изучал свойство векторов: $$$$$$ \overrightarrow{AB} + \overrightarrow{BC} = \overrightarrow{AC}. $$$$$$ Вдохновившись этой идеей сложения «по цепочке», он задумался: а можно ли придумать похожее правило для чисел с использованием наибольшего общего делителя?

Крош назвал тройку целых неотрицательных чисел $$$(A, B, C)$$$ НОД-свёртываемой, если выполняется равенство $$$$$$ \gcd(A + B,\; B + C) = A + C, $$$$$$ где $$$\gcd(x, y)$$$ — наибольший общий делитель неотрицательных целых чисел $$$x$$$ и $$$y$$$ (по соглашению, $$$\gcd(x, 0) = x$$$ при $$$x \ge 0$$$).

Пин, как истинный учёный, предложил проверить гипотезу на диапазонах значений: $$$$$$ L_A \le A \le R_A,\quad L_B \le B \le R_B,\quad L_C \le C \le R_C. $$$$$$

Помогите Смешарикам определить, сколько существует НОД-свёртываемых троек в заданных пределах.

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

В первой строке заданы два целых числа $$$L_A$$$ и $$$R_A$$$ ($$$0 \le L_A \le R_A \le 10^9$$$) — границы для $$$A$$$.

Во второй строке — два целых числа $$$L_B$$$ и $$$R_B$$$ ($$$0 \le L_B \le R_B \le 10^9$$$) — границы для $$$B$$$.

В третьей строке — два целых числа $$$L_C$$$ и $$$R_C$$$ ($$$0 \le L_C \le R_C \le 10^9$$$) — границы для $$$C$$$.

Длины всех трёх диапазонов не превосходят $$$300\, 000$$$.

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

Выведите одно целое число — количество НОД-свёртываемых троек $$$(A, B, C)$$$, удовлетворяющих ограничениям. Гарантируется, что ответ не превышает $$$2 \cdot 10^9$$$.

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

В данной задаче $$$3$$$ группы тестов, не считая примеров. Обозначим $$$\max(R_A - L_A, R_B - L_B, R_C - L_C)$$$ за $$$D$$$.

ПодзадачаБаллыОграничения $$$D$$$Необходимые подзадачиДоп. ограничения
110$$$D \le 100$$$$$$L_A \ge 1,\ L_B \ge 1,\ L_C \ge 1$$$
210$$$D \le 100$$$
360$$$D \le 300\, 000$$$1$$$L_A \ge 1,\ L_B \ge 1,\ L_C \ge 1$$$
420$$$D \le 300\, 000$$$1–3
Примеры
Входные данные
1 1
2 2
3 3
Выходные данные
0
Входные данные
1 1
1 2
1 1
Выходные данные
1
Входные данные
1 10
5 12
3 7
Выходные данные
3
Входные данные
0 1
1 2
1 1
Выходные данные
3
Примечание

В первом примере единственная тройка, которая удовлетворяет трём неравенствам, — это $$$A = 1,\ B = 2,\ C = 3$$$. Однако $$$\gcd(A+B,B+C) =\gcd(3,5) = 1,\ A+C = 4$$$, а значит тройка не подходит.

Во втором примере возможны две тройки: $$$A = B = C = 1$$$ и $$$A = 1,\ B = 2,\ C = 1$$$. Для первой тройки $$$\gcd(A + B,B + C) = \gcd(2,2) = 2, \ A+C = 2$$$ — тройка подходит. Для второй тройки $$$\gcd(A + B,B + C) = \gcd(3,3) = 3, \ A+C = 2$$$, $$$3 \ne 2$$$ — тройка не подходит.

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

Крош обнаружил в своем любимом компьютере новую игру. В игре есть $$$n$$$ злобных морковных монстров, стоящих в ряд и пронумерованных от 1 до $$$n$$$. В начале Крош может атаковать только первого монстра. Чтобы сразиться с монстром номер $$$i$$$ ($$$1 \lt i \le n$$$), необходимо сначала победить всех монстров с номерами меньше $$$i$$$.

У Кроша есть супероружие — Импульсный Луч с радиусом действия $$$k$$$. Если Крош атакует монстра с номером $$$m$$$, то урон распределяется так:

  • монстр с номером $$$m$$$ получает $$$1$$$ единицу урона;
  • монстр с номером $$$(m+1)$$$ — 2 единицы урона;
  • монстр с номером $$$(m+2)$$$ — 3 единицы урона;
  • и так далее...
  • монстр с номером $$$(m+k-1)$$$ — $$$k$$$ урона (если он существует);

Другими словами, одним ударом Крош поражает подряд до $$$k$$$ монстров, при этом урон увеличивается на 1 с каждым последующим.

Монстры в этой игре также необычные. Если у монстра было $$$h_i \gt 0$$$ единиц здоровья, и он получил $$$d$$$ урона, то его новое здоровье станет равным $$$|h_i - d|$$$. Если здоровье становится равным нулю, монстр считается побежденным. Побежденные монстры больше не восстанавливаются, и их здоровье больше не изменяется, даже если последующие удары попадают по ним.

Если монстр, перед которым стоит Крош, побежден, он сразу перемещается к следующему живому монстру с наименьшим номером. Каждый удар Лучом можно наносить только по живому монстру, который стоит ближе всех к Крошу. При этом урон всё равно продолжают получать и побежденные монстры внутри радиуса действия Луча, если они попадают в соответствующие позиции — просто их здоровье остаётся равным нулю.

Игра завершается, когда Крош победит всех монстров. На каждый удар Лучом уходит ровно $$$1$$$ секунда.

У Кроша скоро встреча с Нюшей, и он хочет понять, успеет ли он пройти игру. Помогите Крошу посчитать минимальное количество секунд, которое потребуется для прохождения игры.

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

В первой строке дано $$$2$$$ целых числа $$$n,\ k\ (1 \le n \le 2 \cdot 10^5, 1 \le k \le 200)$$$ — количество монстров и радиус действия Импульсного Луча.

Во второй строке содержится $$$n$$$ чисел $$$h_1, h_2, \ldots, h_n\ (1 \le h_i \le 10^9)$$$ — начальное здоровье каждого монстра.

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

Выведите одно целое число — минимальное количество секунд, необходимое для победы над всеми монстрами.

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

В данной задаче будет $$$5$$$ групп тестов. Баллы начисляются при прохождении всех тестов из группы.

Группа тестовБаллыОграниченияНеобходимые подзадачи
$$$0$$$$$$0$$$Тесты из условия
$$$1$$$$$$5$$$$$$n=1$$$
$$$2$$$$$$10$$$$$$1 \le h_i \le 200$$$$$$0$$$
$$$3$$$$$$15$$$$$$k = 2$$$$$$1$$$
$$$4$$$$$$20$$$$$$n = k$$$, $$$1 \le n \le 200$$$$$$1$$$
$$$5$$$$$$50$$$$$$0, 1, 2, 3, 4$$$
Примеры
Входные данные
1 1
5
Выходные данные
5
Входные данные
4 3
1 6 1 15
Выходные данные
8
Входные данные
7 3
1 20 11 42 23 52 10
Выходные данные
49
Примечание

$$$|x|$$$ — модуль числа $$$x$$$. Если $$$x \ge 0$$$, то $$$|x| = x$$$, а иначе $$$|x|=-x$$$.

Побежденные монстры учитываются при вычислении силы удара. Например, если Крош стоит перед рядом монстров $$$1, 2, 0, 10, 10$$$ и $$$k = 4$$$, то первые $$$4$$$ монстра (включая побежденного) получат удары $$$1, 2, 3, 4$$$ соответственно. После удара здоровье монстров будет $$$0, 0, 0, 6, 10$$$, и Крош переходит к монстру номер $$$4$$$ (бить «издалека» он не умеет).

В первом примере Крош нанесет $$$5$$$ раз ударит лучом по единственному монстру, пока он не исчезнет, поэтому ответ — $$$5$$$.

Во втором примере посмотрим, как изменяется здоровье монстров. Радиус действия луча — 3.

Кол-во атак$$$1$$$ монстр$$$2$$$ монстр$$$3$$$ монстр$$$4$$$ монстр
$$$0$$$$$$1$$$$$$6$$$$$$1$$$$$$15$$$
$$$1$$$$$$0$$$$$$4$$$$$$2$$$$$$15$$$
$$$2$$$$$$0$$$$$$3$$$$$$0$$$$$$12$$$
$$$3$$$$$$0$$$$$$2$$$$$$0$$$$$$9$$$
$$$4$$$$$$0$$$$$$1$$$$$$0$$$$$$6$$$
$$$5$$$$$$0$$$$$$0$$$$$$0$$$$$$3$$$

Первым ударом Крош побеждает первого монстра. Третий монстр получает удар силы $$$3$$$, и его здоровье становится равным $$$|1 - 3|=2$$$. Дальше Крош четыре раза бьет по второму монстру (побеждая вторым ударом монстра номер $$$3$$$), а монстр номер $$$4$$$ получает удары силы $$$3$$$.

Далее, когда остался живым только монстр номер $$$4$$$ с тремя единицами здоровья, надо сделать $$$3$$$ удара по нему. Суммарно понадобилось $$$5+3=8$$$ секунд.