РСО-Алания 2018-2023. Избранное
A. Догонялки
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Алиса и Боб играют в догонялки. Изначально, Алиса находится в точке $$$a$$$, Боб — в точке $$$b$$$. Известно, что $$$a \lt b.$$$ За одну единицу времени Алиса увеличивает свою координату на натуральное число $$$c$$$, а Боб — на $$$d$$$. Алиса, правда, забыла с какой скоростью она двигается, следовательно не знает, чему равен параметр $$$c$$$. Но она точно помнит, что $$$c$$$ — такое, что существует $$$\textbf{целый}$$$ момент времени, когда они могут оказаться в одной точке (то есть, Алиса сможет догнать Боба). Помогите Алисе вспомнить параметр $$$c$$$. В качестве ответа, укажите количество возможных способов назначить параметр $$$c.$$$

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

В единственной строке через пробел даны три натуральных числа через пробел: $$$a, b, d$$$ ($$$1\leq a, b, d\leq 10^{12}, a \lt b$$$).

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

В единственной строке выведите одно целое число — ответ на задачу.

Примеры
Входные данные
1 2 3
Выходные данные
1
Входные данные
1 11 12
Выходные данные
4
Входные данные
11 54 65
Выходные данные
2

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

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

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

В первой строке даны два натуральны числа через пробел: $$$n, m$$$ $$$(1\leq n, m\leq1500)$$$.

В следующих $$$n$$$ строках даны по $$$m$$$ целых чисел через пробел (по модулю не больше, чем $$$100$$$) — описание матрицы.

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

В единственной строке выведите ответ на задачу.

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

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

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

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

В единственной строке через пробел даны два натуральных числа $$$n$$$ и $$$m$$$ $$$(1\leq n,m\leq10^{18})$$$.

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

В единственной строке выведите ответ на задачу.

Примеры
Входные данные
5 10
Выходные данные
5
Входные данные
1 1
Выходные данные
1
Входные данные
3 4
Выходные данные
1

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

Дана последовательность, где каждый $$$i$$$-ый член последовательности задается формулой $$$F_i = F_{i-1} + i + F_{i-1}$$$. Где "$$$+$$$" — конкатенация (склеивание в буквальном смысле). Например, $$$F_1 = 1$$$, $$$F_2 = 121$$$, $$$F_3 = 1213121$$$. По заданному числу $$$n$$$ посчитаете количество цифр значения $$$F_n$$$. Поскольку ответ может быть большим, вывести его по модулю $$$10^9+7$$$.

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

В единственной строке дано натуральное число $$$n$$$, которое не превосходит $$$10^9$$$.

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

Ответ на задачу по модулю $$$10^9+7$$$.

Примеры
Входные данные
2
Выходные данные
3
Входные данные
3
Выходные данные
7
Входные данные
4
Выходные данные
15

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

Дана строка из строчных букв латинского алфавита. Разрешается сколько угодно раз поменять любую букву этой строки на любую другую букву латинского алфавита. Цель — произвести минимальное количество замен так, чтобы в получившейся строке все подстроки нечетной длины были палиндромами. Палиндром — строка, которая читается одинаково как слева направо, так и справа налево. Подстрока — отрезок подряд идущих символов. Длина подстроки — количество символов в ней.

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

В единственной строке дана исходная строка. Длина строки не больше $$$50000$$$.

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

В единственной строке выведите целое число — ответ на задачу.

Примеры
Входные данные
aaa
Выходные данные
0
Входные данные
ababb
Выходные данные
1
Входные данные
abccba
Выходные данные
4
Входные данные
ossetia
Выходные данные
5

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

Даны два натуральных числа — $$$n$$$ и $$$k$$$. Число, состоящее из $$$n$$$ цифр, называется красивым, если в нем нет цифр $$$0$$$, и если рассмотреть все подстроки длины $$$k$$$ в этом числе по порядку слева направо, выписав суммы цифр в каждой из этих подстрок соответственно, то эти суммы должны идти в порядке возрастания. По заданным числам $$$n$$$ и $$$k$$$ определите максимальное красивое число.

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

В единственной строке через пробел даны два целых числа $$$n$$$ и $$$k$$$ ($$$1\leq n, k\leq10^5$$$).

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

В единственной строке выведите ответ на задачу. Гарантируется, что входные данные подобраны так, что ответ существует.

Примеры
Входные данные
1 1
Выходные данные
9
Входные данные
2 2
Выходные данные
99
Входные данные
9 1
Выходные данные
123456789

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

У Васи есть три друга. Он хочет раздать им батончики. Известно, что первый друг любит только сникерс, второй — марс, а третий друг — баунти. У Васи в кармане есть сейчас $$$A$$$ сникерсов, $$$B$$$ марсов и $$$C$$$ баунти. Каждому другу он даст лишь те батончики, которые они любят.

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

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

В единственной строке даны три целых положительных числа через пробел $$$A,$$$ $$$B,$$$ $$$C.$$$ Все числа не больше, чем $$$10^6.$$$

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

В единственной строке выведите ответ на задачу.

Примеры
Входные данные
2 3 4
Выходные данные
4
Входные данные
1 2 3
Выходные данные
1
Входные данные
1 1 1
Выходные данные
0
Входные данные
345 111 1000
Выходные данные
5649160

H. Операционная система MACS_MS
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Игорка закупился новыми дисками операционной системы MACS_MS на рынке. Текущая система на его ноутбуке уже стоит достаточно давно, пора бы поменять её, но Игорка вспомнил, что его ноутбук забрала мама за плохое поведение и теперь он раздосадован — вместо этого он пошел решать задачи на его любимом сайте codeworm.com через телефон.

В голове он воспроизвел уже решения сотни задач, но одна осталась недосягаемой для него: дан массив $$$a$$$ из $$$n$$$ чисел и неотрицательные числа $$$A$$$, $$$B$$$. Нужно посчитать количество пар чисел $$$a_i$$$ и $$$a_j$$$ $$$(i \lt j)$$$ в массиве таких, что $$$A\leq a_i \oplus a_j\leq B$$$. Где $$$\oplus$$$ — операция побитового $$$XOR$$$.

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

В первой строке через пробел даны три неотрицательных целых числа — $$$n$$$, $$$A$$$, $$$B$$$, $$$(1\leq n\leq10^5, 0\leq A\leq B\leq 500)$$$. Во второй строке дан массив $$$a$$$ из $$$n$$$ чисел. Каждое число в массиве не меньше нуля и не больше $$$10^6$$$.

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

В единственной строке выведите ответ на задачу.

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

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

Заур — любитель спорта. Перед поступлением в университет, он захотел записаться на секцию по вольной борьбе, но так как Заур всегда на первое место ставит учебу, он решил параллельно изучать математический анализ. Хоть Заур и силён в математике, он сразу же столкнулся с проблемами — ему сложно представить что-такое бесконечность.

В одном из примеров ему дали последовательность чисел, где каждый член последовательности с номером $$$n$$$ равен $$$\frac{1}{n}$$$ ($$$n$$$ — натуральное). Заур захотел решить такую задачу: дан интервал $$$[A, B]$$$ (обе границы включены) и число $$$N$$$. По этим заданным числам нужно найти количество чисел среди первых $$$N$$$ членов последовательности, которые лежат внутри или на границе этого интервала. Заур справился за пару минут, а вы справитесь?

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

В единственной строке даны три целых числа через пробел $$$A, B, N$$$. $$$(-10^9\leq A\leq B\leq 10^9, 1\leq N\leq 10^9)$$$.

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

В единственной строке выведите целое число — ответ на задачу.

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

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

Известно, что город Вл. на карте представляет собой дерево из $$$n$$$ вершин. Дерево — связный граф без циклов, петель и кратных ребер. Недавно, власти города Вл. решили расширить одну из самых главных улиц — проспект. Проспект на карте — это простой путь из вершины $$$a$$$ в вершину $$$b$$$. Расширение произойдет следующим образом: сначала власти выберут две вершины, которые не соединены ребром, далее они построят ребро между этими двум вершинами. Цена расширения — максимальное расстояние в дереве между вершинами $$$a$$$ и $$$b$$$ после добавления ребра. Определите максимальную цену, которую можно получить таким образом.

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

В первой строке дано натуральное число $$$n$$$ — количество вершин в дереве $$$(3\leq n\leq2*10^5)$$$. Далее в $$$n-1$$$ строках даны описания ребер. Каждое ребро задано двумя натуральным числами через пробел — вершины, которые соединены текущим ребром (вершины пронумерованы от $$$1$$$ до $$$n$$$). В последней строке даны два натуральных числа через пробел — $$$a$$$ и $$$b$$$ ($$$a\neq b$$$).

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

В единственной строке выведите одно целое число — ответ на задачу.

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

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

Дан прямоугольник, заданный двумя массивами $$$A$$$ и $$$B,$$$ размеры которых $$$N$$$ и $$$M$$$ соответственно. Прямоугольник разбит на $$$N$$$x$$$M$$$ секторов, которые пронумерованы сверху вниз по вертикали и слева направо по горизонтали. Сектор с номером $$$(i, j)$$$ имеет высоту $$$A_i$$$ и ширину $$$B_j$$$. Так же дано число $$$S$$$. Вы можете покрасить любое количество этих секторов в черный цвет, чтобы выполнялись следующие условия:

$$$1.$$$ Покрашенные сектора должны образовывать связную область.

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

$$$3.$$$ Площадь образованного прямоугольника не должна превышать $$$S$$$.

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

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

В первой строке через пробел даны три натуральных числа $$$N, M, S$$$ ($$$N\leq 1000$$$, $$$M\leq 1000$$$, $$$1\leq S\leq10^9$$$). Во второй строке дан массив $$$A$$$ состоящий из $$$N$$$ натуральных чисел, где каждое число не превосходит $$$1000$$$. В третьей строке дан массив $$$B$$$ состоящий из $$$M$$$ натуральных чисел, где каждое число не превосходит $$$1000$$$.

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

В единственной строке выведите ответ на задачу.

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

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

У Васи есть ящик, в котором лежат шары $$$n$$$ различных цветов. Цвета пронумерованы от $$$1$$$ до $$$n$$$. Шаров цвета $$$i$$$ ровно $$$a_i$$$ штук. Так же у Васи есть массив $$$b$$$ из $$$n$$$ элементов. Вася, не глядя, хочет взять из ящика $$$x$$$ шаров так, чтобы шаров цвета $$$i$$$ было хотя бы $$$b_i$$$ штук. При каком наименьшем $$$x$$$ это гарантировано возможно?

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

В первой строке дано одно натуральное число $$$n$$$ ($$$1\leq n\leq10^5$$$). Во второй строке через пробел даны $$$n$$$ натуральных чисел — массив $$$a$$$ ($$$1\leq a_i\leq 10^9$$$). В третьей строке через пробел даны $$$n$$$ натуральных чисел — массив $$$b$$$ ($$$1\leq b_i\leq 10^9$$$).

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

В единственной строке выведите ответ на задачу.

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

M. "Обычный кузнечик". Версия 2.0
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Эта задача про обычного кузнечика, который существует на координатной прямой $$$OX$$$.

Изначально, он находится в точке $$$1$$$ и хочет добраться до точки с номером $$$n$$$. За один ход он может увеличить свою текущую позицию либо на $$$1$$$, либо на $$$2$$$ (то есть, может прыгнуть вперёд на $$$1$$$ или на $$$2$$$ позиции). Сколько существует способов добраться до желаемой координаты с номером $$$n$$$, если вдобавок ко всему, он может не более одного раза прыгнуть назад на любое количество единиц? Кузнечик не может находиться в координатах меньше, чем $$$1$$$ и больше, чем $$$n$$$. Так как, ответ может быть слишком большим — требуется посчитать его по модулю $$$10^9+7$$$. Так же, если кузнечик добрался до желаемой позиции, то он намерен остановиться (то есть, он не может прыгать назад, находясь в позиции с номером $$$n$$$).

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

В единственной строке дано натуральное число $$$n$$$, которое не превышает $$$10^6$$$.

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

В единственной строке выведите ответ на задачу.

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

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

У Васи в плейлисте Тындекс.Музик есть песни $$$n$$$ различных жанров. Жанры пронумерованы от $$$1$$$ до $$$n$$$. Известно, что в плейлисте ровно $$$a_i$$$ песен жанра $$$i$$$. Вася хочет упорядочить песни таким образом, чтобы песни одинаковых жанров не играли два раза подряд. Определите, возможно ли это сделать.

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

В первой строке дано натуральное число $$$n$$$ ($$$n\leq10^5$$$). Во второй строке через пробел даны $$$n$$$ натуральных чисел — описание количества песен каждого из жанров ($$$1\leq a_i\leq10^4$$$).

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

Выведите "Yes" — при положительном ответе на задачу, "No" — в противном случае.

Примеры
Входные данные
3
1 2 3
Выходные данные
Yes
Входные данные
2
1 1
Выходные данные
Yes
Входные данные
4
1 10 100 1000
Выходные данные
No

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

Шлягером размера $$$n$$$ называется таблица $$$n$$$ на $$$n$$$, где каждая клетка таблицы равна либо $$$1$$$, либо $$$0$$$, и нет двух соседних по сторонам клеток одновременно равных $$$1$$$. Ваша задача — посчитать количество шлягеров размера $$$n$$$.

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

В единственной строке дано натуральное число $$$n$$$ ($$$1\leq n\leq 10$$$).

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

Выведите ответ на задачу по модулю $$$10^9+7$$$.

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