Турнир Архимеда(52 задач)
Кировские командные турниры(8 задач)
Барнаульские командные турниры(10 задач)
Московская командная олимпиада(246 задач)
Командные чемпионаты школьников Санкт-Петербурга по программированию(167 задач)
ВКОШП(180 задач)
Вася очень любит изучать разные интересные классы чисел. Сегодня он изучает палиндромные числа.
Вася называет число палиндромным, если оно записывается одинаково слева направо и справа налево. При этом, Вася разрешает приписывать к числу несколько (возможно ни одного) лидирующих нулей. Например, числа 22, 4554, 12321, 5050 являются палиндромными. В частности, к числу 5050 необходимо приписать один ноль, чтобы получить 05050, которое читается одинаково слева направо и справа налево.
В числе прочих, Васю интересуют палиндромные числа, отличающиеся на 2. Для их исследования Вася рассматривает такие \(x\), что \(x-1\) и \(x+1\) являются палиндромными. Такие числа Вася называет междупалиндромными. Вася хочет найти количество междупалиндромных чисел \(x\) от \(L_k\) до \(R_k\) включительно для нескольких отрезков \([L_k, R_k]\).
Помогите Васе в этом нелегком деле!
Входной файл содержит несколько отрезков, которые интересуют Васю. В первой строке задано одно число \(T\) (\(1 \le T \le 2\,000\)) - количество отрезков. В каждой из следующих \(T\) строк заданы два числа \(L_{k}\) и \(R_{k}\) (\(1 \le L_{k} \le R_{k} \le 10^{18}\)) - границы отрезка.
Выведите \(T\) строк. В \(k\)-ой строке выведите одно число - количество междупалиндромных чисел в отрезке от \(L_{k}\) до \(R_{k}\) включительно.
От 17 до 24 палинромными являются числа 20 и 22. Поэтому единственное междупалиндромное число на отрезке \([18, 23]\) - это 21. Во втором примере, число 21 опять подходит. От 49 до 56 палинромными являются числа 50, 55. Междупалиндромных чисел на отрезке \([50, 55]\) нет.
3 18 23 21 21 50 55
1 1 0
Недавно на выставку странных устройств привезли новый экспонат. Его суть заключается в том, что он может генерировать случайную перестановку из чисел от \(1\) до \(n\), после чего сканировать ее и выводить на экран \(n - k + 1\) чисел, \(i\)-е из этих чисел обозначает количество инверсий на отрезке с \(i\) по \(i + k - 1\) сгенерированной перестановки.
Напомним, что инверсией в перестановке \(p\) называется всякая пара индексов \(i, j\) такая, что \(1 \le i < j \le n\) и \(p[i] > p[j]\).
У этого экспоната кроме экрана есть две ручки - первая определяет \(n\), то есть длину перестановки, а вторая определяет \(k\). Посетитель Вася повернул ручки и увидел на экране числа. Теперь он хочет понять, какую перестановку сгенерировало это странное устройство. Помогите ему в этом.
В первой строке содержатся два натуральных числа \(n\) и \(k\) (\(2 \le n \le 10^5\), \(2 \le k \le 5\), \(n \ge k\)). Во второй строке даны \(n - k + 1\) чисел, выведенные на экран устройством. Гарантируется, что устройство исправно, и существует хотя бы одна перестановка, по которой можно сгенерировать эти числа.
Выведите \(n\) чисел, разделенных пробелами - cгенерированную устройством перестановку. Если возможных перестановок несколько, то выведите любую.
3 2 0 1
2 3 1
Недавно на уроках ИЗО Казимиру рассказали о различных направлениях искусства. Больше всего его впечатлил супрематизм, и он решил нарисовать свою первую картину в этом стиле.
Казимир помнил, что в супрематизме картина состоит из простых фигур, поэтому, сначала он нарисовал прямоугольник \(n \times m\), составленный из разноцветных квадратов \(1 \times 1\). После критического переосмысления своего творения, Казимир пришел к выводу, что получившаяся картина слишком сложна, и не все смогут понять его задумку. Второго холста у него не было, и он решил исправлять эту картину. На достаточно простой картине, по мнению Казимира, должен присутствовать всего один цвет.
Казимир решил исправить картину следующим образом. Он может взять строку своей картины, более половины единичных квадратов в которой покрашено в один и тот же цвет, и перекрасить всю строку в этот цвет. Аналогично он может перекрасить столбец, более половины единичных квадратов в котором покрашено в один цвет.
Помогите Казимиру определить, cможет ли он с помощью этих операций исправить свою картину и сделать ее достаточно простой.
В первой строке заданы два числа \(n\) и \(m\) (\(1 \le n, m \le 300\)) - размеры картины. Далее, в \(n\)~строках задано по \(m\) чисел \(c_{i,j}\) (\(1 \le c_{i,j} \le 1\,000\,000\)) - цвета квадратов, из которых составлена картина. Гарантируется, что на картине представлено хотя бы два цвета.
Если Казимиру не удастся сделать картину достаточно простой, выведите "Poor Kazimir".
Иначе, выведите в первой строке \(k\) - количество действий, которое нужно сделать Казимиру. Действия могут быть двух видов:
Разрешается сделать не более 1000 действий.
3 3 1 1 2 2 1 1 2 2 2
5 R 1 R 2 C 1 C 2 C 3
3 3 1 1 2 2 1 1 2 2 2
5 R 1 R 2 C 1 C 2 C 3
2 2 1 2 3 4
Poor Kazimir
Олег очень любит двоичные последовательности - последовательности из нулей и единиц. Совсем недавно он написал в тетради очередную двоичную последовательность из \(n\) элементов. Для выписанной последовательности Олег посчитал Z-функцию.
Z-функцией последовательности \(s_1, \ldots, s_n\) называется массив \(z[1..n]\), в котором:
Записав в тетради последовательность и ее Z-функцию, Олег лег спать. Пока он спал, его младший брат Егор прокрался в комнату и закрасил фломастером последовательность и некоторые значения Z-функции. Проснувшись, Олег заинтересовался, сколько различных двоичных последовательностей он мог вечером написать в тетради, чтобы незакрашенные значения Z-функции были правильными.
Найдите число искомых последовательностей и выведите его по модулю \(10^9 + 7\). Заметьте, что Олег мог и ошибиться при вычислении Z-функции, в этом случае ни одна последовательность не подходит и ответ равен 0.
В первой строке входного файла находится целое число \(n\) - длина исходной двоичной последовательности (\(1 \le n \le 1000\)). Во второй строке входного файла находятся \(n\) целых чисел \(z[1], \ldots, z[n]\), где \(z[i]\) - значение Z-функции в позиции \(i\), или \(-1\), если значение в \(i\)-й позиции было закрашено (\(-1 \le z[i] \le n\)).
В выходной файл выведите единственное число - остаток от деления числа подходящих двоичных последовательностей на число \(10^9 + 7\).
В первом примере подходят последовательности \(\langle 0, 1, 0 \rangle\) и \(\langle 1, 0, 1 \rangle\).
Во втором примере не существует ни одной двоичной последовательности длины 4 с заданной Z-функцией.
В третьем примере \(z[2] = 3\), что противоречит определению Z-функции, поэтому ответ 0.
В четвертом примере подходит любая двоичная последовательность длины 3.
3 0 0 1
2
4 0 0 1 0
0
3 0 3 -1
0
3 -1 -1 -1
8
В центре города Че есть пешеходная улица - одно из самых популярных мест для прогулок жителей города. По этой улице очень приятно гулять, ведь вдоль улицы расположено \(n\) забавных памятников.
Девочке Маше из города Че нравятся два мальчика из ее школы, и она никак не может сделать выбор между ними. Чтобы принять окончательное решение, она решила назначить обоим мальчикам свидание в одно и то же время. Маша хочет выбрать два памятника на пешеходной улице, около которых мальчики будут ее ждать. При этом она хочет выбрать такие памятники, чтобы мальчики не увидели друг друга. Маша знает, что из-за тумана мальчики увидят друг друга только в том случае, если они будут на расстоянии не более \(r\) метров.
Маше заинтересовалась, а сколько способов есть выбрать два различных памятника для организации свиданий.
В первой строке входного файла находятся два целых числа \(n\) и \(r\) (\(2 \le n \le 300\,000\), \(1 \le r \le 10^9\)) - количество памятников и максимальное расстояние, на котором мальчики могут увидеть друг друга.
Во второй строке задано \(n\) положительных чисел \(d_1, \ldots, d_n\), где \(d_i\) - расстояние от \(i\)-го памятника до начала улицы. Все памятники находятся на разном расстоянии от начала улицы. Памятники приведены в порядке возрастания расстояния от начала улицы (\(1 \le d_1 < d_2 < \ldots < d_n \le 10^9\)).
Выведите одно число - число способов выбрать два памятника для организации свиданий.
В приведенном примере Маша может выбрать памятники под номерами 1 и 4 или памятники 2 и 4.
4 4 1 3 5 8
2