Финал ВКОШП.Junior 2026
Statement is not available in English language
A. Лучший хор
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У Васи есть хор из $$$n$$$ хомяков. Каждый хомяк поёт с громкостью 2, 3, 4 и 5. Однако, если объединить $$$k$$$ хомяков в группу, то они все начнут петь с громкостью $$$\max(2, max - (k - 1))$$$, где $$$max$$$ — самая большая громкость голоса в группе.

Вася хочет объединить некоторых хомяков в группы (остальные при этом могут остаться петь поодиночке) так, чтобы суммарная громкость (то есть сумма громкостей голосов хомяков) была максимальной.

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

В первой строке натуральное число $$$n$$$ ($$$1 \le n \le 10^8$$$) — количество хомяков в хоре.

Во второй строке четыре неотрицательных числа $$$n_2, n_3, n_4, n_5$$$ ($$$0 \le n_i \le 10^8, n_2 + n_3 + n_4 + n_5 = n$$$) — количество хомяков с громкостью голоса равной 2, 3, 4 и 5 соответственно.

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

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

Пример
Входные данные
10
0 2 3 5
Выходные данные
43
Примечание

Суммарную громкость равную 43 можно получить, например, если сделать две группы по два хомяка с громкостями 3 и 5. В этом случае все они будут петь с громкостью 4. Остальные хомяки буду петь со своей изначальной громкостью.

$$$4 \cdot 7 + 5 \cdot 3 = 43$$$

Statement is not available in English language
B. Пингвиний лифт
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В штаб-квартире корпорации «Айсберг» работает множество пингвинов. Здание корпорации состоит из $$$n$$$ этажей, пронумерованных от $$$1$$$ до $$$n$$$.

Сегодня $$$k$$$ пингвинов хотят переместиться по зданию. Известно, что $$$i$$$-й пингвин находится на этаже $$$s_i$$$ и хочет попасть на этаж $$$f_i$$$. Так как пингвины не любят спускаться, гарантируется, что все они едут только вверх ($$$s_i \lt f_i$$$).

В здании есть ровно один ультрасовременный лифт, который изначально находится на $$$1$$$-м этаже. Его вместимость не ограничена. Лифт потребляет энергию по следующим правилам:

  • Перемещение лифта на один этаж вверх или вниз тратит $$$1$$$ единицу энергии.
  • Остановка на этаже (чтобы открыть и закрыть двери для посадки или высадки пингвинов) тратит $$$2$$$ единицы энергии. Лифт тратит эту энергию только в том случае, если на этаже действительно кто-то заходит или выходит.

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

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

В первой строке вводятся два целых числа $$$n$$$ и $$$k$$$ ($$$2 \le n \le 10^9$$$, $$$1 \le k \le 2 \cdot 10^5$$$) — количество этажей в здании и количество пингвинов соответственно.

В следующих $$$k$$$ строках вводятся по два целых числа $$$s_i$$$ и $$$f_i$$$ ($$$1 \le s_i \lt f_i \le n$$$) — начальный и конечный этаж $$$i$$$-го пингвина.

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

Выведите единственное целое число — минимальное необходимое количество энергии.

Примеры
Входные данные
10 2
1 5
3 7
Выходные данные
14
Входные данные
100 3
2 10
2 10
2 10
Выходные данные
13
Примечание

В первом примере лифт открывает дверь на этаже $$$1$$$, потребляя $$$2$$$ единицы энергии, потом едет до этажа $$$3$$$ и открывает двери там, потратив уже 6 единиц энергии, аналогично на этаж $$$5$$$ и на этаж $$$7$$$. Суммарно получается $$$2 + 2 + 2 + 2 + 2 + 2 + 2 = 14$$$.

Во втором примере лифт доедет до второго этажа, откроет там двери, потом доедет до десятого этажа и откроет двери там. Суммарно получается $$$1 + 2 + 8 + 2 = 13$$$.

Statement is not available in English language
C. Черепашки, но не ниндзя
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод

В Долине Медленных Шагов черепашки записывают на панцире длинные числа. Иногда некоторые цифры стираются, и на их месте появляется символ ?. Черепашки хотят восстановить число так, чтобы оно делилось на $$$3$$$.

Вам дана строка $$$s$$$ длины $$$n$$$, состоящая из цифр 09 и символов ?. Требуется заменить каждый символ ? на одну из цифр 09 так, чтобы получившееся число:

  • не имело ведущих нулей (то есть при $$$n \gt 1$$$ первая цифра не равна 0);
  • делилось на $$$3$$$.

Среди всех подходящих чисел нужно вывести минимальное по величине.

Если восстановить число невозможно, выведите -1.

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

В единственной строке дана непустая строка $$$s$$$, длиной не более $$$10^5$$$ символов, состоящая из символов 09 и ?.

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

Выведите минимальное число, кратное $$$3$$$, которое можно получить из $$$s$$$ заменой всех символов ? на цифры без ведущих нулей. Если такого числа не существует, выведите -1.

Примеры
Входные данные
1?3
Выходные данные
123
Входные данные
52
Выходные данные
-1
Входные данные
?2
Выходные данные
12
Входные данные
?8?
Выходные данные
180

Statement is not available in English language
D. Снеговик наносит ответный удар
ограничение по времени на тест
0.5 секунд
ограничение по памяти на тест
64 мегабайта
ввод
стандартный ввод
вывод
стандартный вывод
Ой, смотрите, я шашлычок.
— Олаф (Холодное сердце)

Зима уже закончилась, но Егор не собирается бросать своё хобби — лепку снеговиков. Он заготовил $$$n$$$ снежных комьев и для каждого комка определил его размер — $$$a_i$$$. Как не бывает двух абсолютно одинаковых снежинок, так и не бывает двух одинаковых снежных кома, даже если они одинакового размера. Поэтому будем считать, что все комья снега различны.

По мнению Егора, снеговик должен состоять ровно из трёх комьев, причём на каждом коме могут стоять только строго меньшие его по размеру. Теперь Егор хочет узнать, сколькими способами он может слепить снеговика из снежных заготовок.

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

В первой строке содержится число $$$n$$$ ($$$1 \le n \le 10^6$$$) — количество комьев.

Во второй строке содержатся $$$n$$$ чисел $$$a_i$$$ ($$$1 \le a_i \le 10^6$$$) — размеры комьев.

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

Выведите одно число, количество различных способов слепить снеговика из этих комьев.

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

В третьем примере Егор может слепить снеговика тремя различными способами: вниз поставить ком размера 100, вторым поставить ком размера 5. После этого есть 3 способа выбрать ком размера 2 для верхней части снеговика.

Statement is not available in English language
E. Капибары играют в «Три в ряд»
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В Долине Больших Луж капибары каждый вечер играют в «три в ряд» на бесконечном клетчатом поле. В некоторых клетках уже лежат камешки-метки (крестики). Капибары хотят сделать ровно один дополнительный ход: поставить метку в одну клетку так, чтобы после этого на поле появилась тройка меток подряд по одной из линий: по горизонтали, по вертикали или по диагонали.

Вам даны координаты $$$n$$$ клеток, в которых уже стоят метки. Гарантируется, что изначально на поле нет ни одной тройки подряд (по горизонтали, вертикали или диагонали). Требуется посчитать, сколькими способами можно выбрать одну клетку для постановки новой метки так, чтобы тройка подряд появилась.

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

Первая строка содержит целое число $$$n$$$ ($$$1 \le n \le 200\,000$$$) — количество клеток, в которых уже стоят метки.

Следующие $$$n$$$ строк содержат по два целых числа $$$x_i$$$, $$$y_i$$$ ($$$|x_i| \le 10^9$$$, $$$|y_i| \le 10^9$$$) — координаты клеток с метками. Гарантируется, что все пары $$$(x_i, y_i)$$$ различны и что изначально не существует трёх меток, стоящих подряд по горизонтали, вертикали или диагонали.

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

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

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

В первом тестовом примере метку можно поставить 6-ю различными способами (см. рис.1) Каждый такой крестик позволяет получить три метки подряд по горизонтали или диагонали.

Во втором примере ответ ноль, так как невозможно поставить ещё одну метку, так, чтобы получилось три метки подряд по вертикали, горизонтали ли диагонали (см. рис.2)

Statement is not available in English language
F. Котик и светофоры
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В городе Котофф живут котики, которые очень любят ходить в гости и соблюдать правила дорожного движения. Все дорожки в городе имеют направление движения и у каждой дорожки установлен светофор. Начинать движение по дорожке можно, только если светофор горит зелёным. Каждый светофор чередует сигналы: $$$r_i$$$ секунд горит красный, после чего $$$g_i$$$ секунд горит зелёный, затем процесс повторяется. Ещё известно, что от домика $$$a_i$$$ к домику $$$b_i$$$ можно пройти за $$$t_i$$$ секунд.

Котик А живёт в домике $$$1$$$, и собрался в гости к котику B, который живёт в домике $$$n$$$.

По магическому стечению обстоятельств, в момент времени, когда котик А вышел из дома, все светофоры города загорелись красным.

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

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

В первой строке даны два целых числа $$$n$$$, $$$m$$$ ($$$2 \leq n \leq 10^5, 1 \leq m \leq 10^5$$$) — количества домиков и дорожек.

Далее идут $$$m$$$ строк, каждая из которых содержит информацию об $$$i$$$-й дорожке $$$a_i$$$, $$$b_i$$$, $$$t_i$$$, $$$r_i$$$, $$$g_i$$$ ($$$1 \le a_i, b_i \leq n$$$, $$$1 \leq t_i, r_i, g_i \leq 10^4$$$) — концы дорожки, время прохождения по дорожке и длительность красного и зеленого сигналов светофора соответственно.

Гарантируется, что граф связный и путь от домика $$$1$$$ до домика $$$n$$$ существует.

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

Выведите одно число — минимальное время, которое потратит котик A на маршрут от домика $$$1$$$ к домику $$$n$$$.

Примеры
Входные данные
2 1
1 2 3 4 5
Выходные данные
7
Входные данные
3 2
1 2 4 1 1
2 3 9 6 7
Выходные данные
15
Примечание

В первом примере котик подождёт 4 секунды, пока горит красный сигнал, и после этого перейдёт дорогу за 3 секунды. Путь займёт $$$4 + 3 = 7$$$ секунд.

Во втором примере котик подождёт 1 секунду, пока горит красный свет у дороги 1-2. Затем пройдёт по этой дороге за 4 секунды.

Перед дорожкой 2-3 стоит светофор, красный свет на котором горит 6 секунд, поэтому котик не сможет сразу же начать движение по этой дорожке. Он подождёт 1 секунду и за 9 секунд перейдёт дорогу. Итого путь займёт $$$1 + 4 + 1 + 9 = 15$$$ секунд.

Statement is not available in English language
G. Капибара Валера и искусство лени
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

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

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

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

Локации пронумерованы целыми числами от $$$1$$$ до $$$n$$$. Всего существует $$$m$$$ направленных тропинок. $$$i$$$-я тропинка имеет вид ($$$x_i, y_i$$$), что означает наличие направленной тропинки из локации $$$x_i$$$ в локацию $$$y_i$$$.

Валера хочет выбрать четыре различных тропинки $$$a$$$, $$$b$$$, $$$c$$$, $$$d$$$, такие что если пройти по тропинкам $$$a \rightarrow b \rightarrow c \rightarrow d$$$, получится замкнутый маршрут длины $$$4$$$. Тропинки считаются различными по их индексам, даже если они соединяют одни и те же локации.

Помогите Валере узнать, сколько существует допустимых четвёрок тропинок ($$$a, b, c, d$$$).

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

В первой строке заданы два целых числа $$$n$$$ и $$$m$$$ — количество локаций и количество тропинок ($$$1 \le n, m \le 5000$$$).

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

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

Выведите одно целое число — количество допустимых четвёрок тропинок ($$$a, b, c, d$$$)

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

Во втором тесте Валера может начать прогулку из локации 1 или из локации 2, для каждой из них возможно 4 варианта.

[1, 3, 2, 4], [1, 4, 2, 3],[2, 3, 1, 4], [2, 4, 1, 3], [3, 2, 4, 1, [4, 2, 3, 1],[3, 1, 4, 2], [4, 1, 3, 2]

Statement is not available in English language
H. Оттервер собирается в путь
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Как вы знаете, выдры очень любят камешки. Некоторые выдры выбирают себе один камешек на всю жизнь, но Оттервер не из таких. У него есть рюкзак, который вмещает $$$W$$$ килограммов. В его распоряжении есть 3 типа камешков, каждый тип характеризуется своим весом и своей значимостью. Камешки каждого типа он может брать в неограниченном количестве (естественно, взятые камешки должны влезать в рюкзак). Оттервер хочет набрать в рюкзак камешков так, чтобы они имели максимальную суммарную значимость. К сожалению, так как выдры в этой задаче гигантские, то и рюкзак, и камешки соответствующих размеров. Помогите ему с этой сложной задачей, ведь он всего лишь бедный выдр!

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

В первой строке вводится одно целое число $$$W$$$ — вместимость рюкзака ($$$1 \leqslant W \leqslant 10^9$$$). В следующих трех строках вводится описание типов камешков: пары целых чисел $$$w_i, c_i$$$ — вес камешка и его значимость ($$$1 \leqslant w_i \leqslant 1000$$$, $$$1 \leqslant c_i \leqslant 10^9$$$).

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

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

Пример
Входные данные
20
3 7
5 10
4 8
Выходные данные
45
Примечание

Обратите внимание на ограничение на вес камешка!

Statement is not available in English language
I. Блинчик и рисование
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Тюлень по имени Блинчик учится в первом классе звериной школы, и сегодня проходит урок рисования на его любимую тему — ученики будут рисовать морских обитателей. Учительница задала Блинчику нарисовать картину, на которой плавают ровно $$$m$$$ рыб. У Блинчика есть $$$n$$$ разноцветных карандашей, которыми он может рисовать рыб. Для каждой рыбы $$$X$$$ на картине, если она нарисована карандашом цвета $$$i$$$, то за неё учительница поставит Блинчику в дневник $$$a_i - k_X$$$ звёздочек, где $$$k_X$$$ — количество рыб цвета $$$i$$$, кроме $$$X$$$, а если $$$a_i \lt k_X$$$, то учительница не примет работу.

Помогите Блинчику получить как можно больше звёздочек в дневнике.

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

Первая строка входных данных содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \le n \le 2 \cdot 10^5$$$, $$$1 \le m \le 10^9$$$) — количество карандашей и рыб на картине соответственно.

Вторая строка входных данных содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^9$$$) — изначальное количество звёздочек за рыбу цвета $$$i$$$.

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

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

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

Во второй строке выведите $$$n$$$ целых чисел — количество рыб цвета $$$1, 2, \ldots, n$$$ на картине соответственно.

Примеры
Входные данные
5 8
3 1 4 1 5
Выходные данные
20
1 1 2 1 3
Входные данные
3 8
3 2 2
Выходные данные
5
3 3 2 
Входные данные
3 9
1 2 3
Выходные данные
0
2 3 4 
Входные данные
5 14
2 2 3 2 2
Выходные данные
5
3 2 3 3 3
Примечание

Рассмотрим первый пример. Здесь Блинчик может нарисовать одну рыбу цвета $$$1$$$, одну рыбу цвета $$$2$$$, две рыбы цвета $$$3$$$, одну рыбу цвета $$$4$$$ и три рыбы цвета $$$5$$$.

  • За рыбу цвета $$$1$$$ он получит $$$3 - 0 = 3$$$ звёздочки, так как больше рыб цвета $$$1$$$ нет;
  • За рыбу цвета $$$2$$$ он получит $$$1 - 0 = 1$$$ звёздочку, так как больше рыб цвета $$$2$$$ нет;
  • За каждую рыбу цвета $$$3$$$ он получит $$$4 - 1 = 3$$$ звёздочки, так как для каждой из этих рыб, кроме неё, есть ровно одна рыба цвета $$$3$$$;
  • За рыбу цвета $$$4$$$ он получит $$$1 - 0 = 1$$$ звёздочку, так как больше рыб цвета $$$4$$$ нет;
  • За каждую рыбу цвета $$$5$$$ он получит $$$5 - 2 = 3$$$ звёздочки, так как для каждой из этих рыб, кроме неё, есть ровно две рыбы цвета $$$5$$$.

Итого Блинчик получит $$$3 + 1 + 2 \cdot 3 + 1 + 3 \cdot 3 = 20$$$ звёздочек. Можно показать, что больше $$$20$$$ звёздочек в первом примере получить невозможно.

Statement is not available in English language
J. Гармоничный отряд
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

После выполнения зарядки (см. задачу отбора «Зарядка для хомяков») все $$$n$$$ хомяков выстроились по росту и были пронумерованы числами от $$$1$$$ до $$$n$$$ в порядке увеличения роста (хомяк номер 1 имеет наименьший рост, номер $$$n$$$ — наибольший рост), при этом оказалось, что все хомяки имеют разный рост. После этого было проведено взвешивание и удалось установить веса всех хомяков, для каждого $$$i$$$ известно значение $$$a_i$$$ — вес хомяка с номером $$$i$$$.

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

Ведущий хомяк уже посчитал значение $$$m$$$ — наибольший возможный размер гармоничного отряда, который можно собрать из данных $$$n$$$ хомяков. Но тут оказалось, что надо также отправить группу хомяков для подготовки места проведения какой-то командной олимпиады по программированию. Для этой цели нужно выбрать одного или нескольких подряд идущих хомяков (то есть хомяков с последовательными номерами), после чего взять этих хомяков в отряд будет нельзя.

Разумеется, ведущий хомяк хочет, чтобы после этого максимальный размер гармоничного отряда не изменился (иначе его расчеты окажутся неверными). Посчитайте, сколькими способами можно выбрать непустую группу хомяков для подготовки олимпиады, чтобы из оставшихся хомяков можно было сформировать гармоничный отряд размера $$$m$$$. Кстати, число $$$m$$$ ведущий хомяк вам не сказал.

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

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

Вторая строка содержит $$$n$$$ чисел $$$a_i$$$ — веса хомяков ($$$1 \leq a_i \leq 10^9$$$).

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

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

Примеры
Входные данные
3
1 1 1
Выходные данные
5
Входные данные
4
2 5 14 42
Выходные данные
0
Примечание

В первом примере можно выбрать любого одного хомяка ($$$3$$$ варианта) или двух подряд идущих хомяков ($$$2$$$ варианта) и отправить их готовить олимпиаду. При этом можно будет выбрать гармоничный отряд размера $$$1$$$.

Во втором примере в оригинале можно взять всех хомяков в гармоничный отряд, то есть $$$m=4$$$. При удалении любого хомяка отряд такого размера собрать не получится, поэтому ответ $$$0$$$.