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

Вова любит подмечать на электронных часах (которые показывают время в формате ЧЧ:ММ, то есть по две цифры для отображения значения часов и минут, например 07:05) «красивые» моменты времени. Красивыми Вова считает такие показания часов, когда выполнено хотя бы одно из следующих условий:

1) Значения часов и минут равны, например: 21:21.

2) Значения часов и минут выглядят зеркально, то есть значение минут получается перестановкой цифр значений часов в обратном порядке, например: 21:12.

3) Значения часов и минут вместе образуют четыре последовательные цифры (то есть каждая следующая цифра на циферблате на единицу больше предыдущей), например: 01:23.

Вова заинтересовался, сколько красивых показаний часов будет на циферблате с момента, когда часы показывают $$$h_1$$$ часов и $$$m_1$$$ минут, до момента, когда часы покажут $$$h_2$$$ часов и $$$m_2$$$ минут (оба показания включительно; если $$$h_1 = h_2$$$ и $$$m_1 = m_2$$$, то рассматривается одно-единственное показание часов).

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

Во входных данных задачи последовательно записано четыре целых числа: $$$h_1, m_1, h_2, m_2$$$, каждое число в отдельной строке ($$$0 \leq h_1, h_2 \leq 23$$$, $$$0 \leq m_1, m_2 \leq 59$$$).

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

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

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

Каждый тест оценивается независимо.

Примеры
Входные данные
20
0
20
30
Выходные данные
2
Входные данные
17
31
17
31
Выходные данные
0

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

Найдите натуральное число в диапазоне от 1 до $$$10^9$$$, равное сумме каких-то $$$n$$$ своих делителей (выбранные делители должны быть различны между собой).

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

Вводится одно целое число $$$n$$$ ($$$1 \le n \le 30$$$).

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

В первой строке выходных данных выведите искомое число $$$m$$$. Во второй строке выведите $$$n$$$ различных натуральных чисел — делителей числа $$$m$$$, сумма которых равна $$$m$$$. Делители можно выводить в любом порядке. Если есть несколько правильных ответов, выведите любой. Если решения нет, выведите -1.

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

Каждый тест оценивается независимо.

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

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

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

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

В первой строке входных данных записано целое число $$$N$$$ — количество рекламных вставок за проверяемый период времени ($$$1 \le N \le 10^5$$$).

Во второй строке записано целое число $$$T$$$ ($$$0 \le T \lt 3600$$$).

В каждой из следующих $$$N$$$ строк записаны через пробел два целых числа $$$t_1$$$ и $$$t_2$$$ — время начала и окончания очередной рекламной вставки ($$$0 \le t_1 \lt t_2 \le 10^9$$$). Времена задаются в секундах от момента начала проверки. Времена упорядочены по возрастанию (то есть, в каждой следующей строке $$$t_1$$$ больше, чем $$$t_2$$$ в предыдущей строке).

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

Если найдётся такой час (то есть интервал времени длиной 3600 секунд), в котором было более $$$T$$$ секунд рекламы, то выведите одно целое число — время начала такого интервала. Если есть несколько верных ответов, то выведите наименьший неотрицательный из них. Если искомого интервала не существует, то выведите -1.

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

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

ПодзадачаДополнительные условияБаллы
$$$1$$$$$$N \le 100$$$, $$$t_2 \le 10^4$$$30
$$$2$$$$$$N \le 10^5$$$, $$$t_2 \le 10^6$$$30
$$$3$$$-40
Примеры
Входные данные
3
1000
0 100
5000 5300
6000 7000
Выходные данные
3101
Входные данные
1
3599
0 3599
Выходные данные
-1
Примечание

Напоминание для решающих на языке Python: ввести два целых числа, разделённых пробелом, можно так:

t1, t2 = map(int, input().split())

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

Робот с кодовым именем МАГД имеет тип $$$n$$$. Для подзарядки ему требуется устройство мощностью $$$p$$$, удовлетворяющее условиям:

$$$ p \ge n + 1 $$$ (иначе роботу не хватит мощности для подзарядки)

$$$ p \le n + k $$$ (иначе робот может сгореть)

Из всех подходящих мощностей $$$p$$$ нужно выбрать ту, при которой НОК($$$n$$$, $$$p$$$) минимален, чтобы аккумулятор робота прослужил как можно дольше. По заданным $$$n$$$ и $$$k$$$ требуется вычислить $$$p$$$.

НОК($$$a$$$,$$$b$$$) – это наименьшее общее кратное чисел $$$a$$$ и $$$b$$$, то есть наименьшее натуральное число, которое делится одновременно и на $$$a$$$, и на $$$b$$$.

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

Вводятся два числа $$$n$$$ и $$$k$$$, каждое в отдельной строке ($$$1 \le n \le 10^{12}$$$, $$$ 1 \le k \le 10^{12}$$$)

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

Требуется вывести число $$$p$$$ — искомую мощность устройства.

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

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

ПодзадачаДополнительные условияБаллы
$$$1$$$$$$n \le 100, k \le 100$$$до 15
$$$2$$$$$$n \le 10^5, k \le 10^5$$$до 15
$$$3$$$$$$n \le 5 \cdot 10^7$$$до 30
$$$4$$$—до 40
Примеры
Входные данные
6
4
Выходные данные
9
Входные данные
10
12
Выходные данные
20
Примечание

Обратите внимание, что входные данные и ответ могут выходить за пределы диапазона возможных значений 32-битной целочисленной переменной, поэтому необходимо использовать 64-битный целочисленный тип данных (тип int64 в языке Pascal, тип long long в C++, тип long в Java и C#). В языке Python ничего дополнительно делать не требуется.

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

Существует известная математическая игра «Жизнь», правила которой очень просты. Дано клетчатое поле, в котором $$$n$$$ строк по $$$m$$$ столбцов в каждой. Каждая клетка может иметь одно из двух состояний: она или жива, или мертва. У клетки может быть максимум 8 соседей (если клетка не находится на краях поля). Клетки постоянно конкурируют за существование, и на каждом шаге игры происходят следующие изменения:

  1. Живая клетка, имеющая двух или трёх живых соседей, остаётся живой. Иначе она погибает от перенаселения или одиночества.
  2. Мёртвая клетка, имеющая трёх живых соседей, оживает.

Игра заканчивается, когда поле перестаёт меняться. Это состояние назовём стабилизацией.

Известно, что на симуляторе игры в «Жизнь» была запущена некоторая первоначальная конфигурация, которая стабилизировалась после некоторого числа шагов. Симулятор зафиксировал положение клеток в $$$k$$$ позициях игры, однако оказался сломан и выдал их в перемешанном порядке.

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

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

Первая строка содержит одно натуральное число $$$k$$$ ($$$1 \leq k \leq 100$$$) — количество зафиксированных конфигураций поля.

Вторая строка содержит одно натуральное число $$$n$$$ — количество строк поля.

Третья строка содержит одно натуральное число $$$m$$$  — количество столбцов. Гарантируется, что $$$1 \leq n \cdot m \leq 5000$$$.

Далее идут $$$k$$$ описаний зафиксированных конфигураций поля. Каждая конфигурация описывается $$$n$$$ строками по $$$m$$$ чисел в каждой, разделённых пробелом. Если клетка жива, то она кодируется цифрой $$$1$$$, иначе — цифрой $$$0$$$.

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

Необходимо вывести перестановку натуральных чисел от $$$1$$$ до $$$k$$$ — в каком порядке появлялись данные конфигурации во время игры.

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

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

ПодзадачаДополнительные условияБаллы
$$$1$$$$$$k=2$$$, в одной из конфигураций все клетки мёртвы5
$$$2$$$$$$k \leq 10; n, m \leq 20$$$35
$$$3$$$-60
Примеры
Входные данные
3
3
3
1 0 0
0 1 0
1 0 0
0 0 0
1 1 0
0 0 0
0 0 0
0 0 0
0 0 0
Выходные данные
1 2 3
Входные данные
2
2
3
1 0 0
1 1 0
1 0 1
1 1 0
Выходные данные
2 1