Муниципальный этап ВсОШ по информатике (программирование) 10-11 класс, Свердловская область, 2025
Statement is not available in English language
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

Statement is not available in English language
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. Крош выкладывает одну карточку, Ёжик две. Крош должен выложить три карточки, но у него осталось всего две. Выиграл Ёжик, у Кроша осталось две карточки, у Ёжика три.

Statement is not available in English language
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

Statement is not available in English language
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$$$ — тройка не подходит.

Statement is not available in English language
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$$$ секунд.