Республиканская олимпиада по информатике, 2015 год, 9 класс
Вы главный разработчик в компании грузоперевозок Нурлаш и КО inc. Компании требуется, чтобы вы написали новый функционал для сортирующего робота. Робот контролирует $N$ отсеков, последовательно пронумерованных от 1 до $N$, и может выполнять два типа операций:
Добавить контейнер с номером $C$ в каждый отсек с $L$-го по $R$-ый
Убрать последний контейнер из каждого отсека с $L$-го по $R$-ый
комментарий/решение(1)
Задается строка $S$, состоящая из строчных букв английского алфавита. Найдите в ней подстроку наименьшей длины, в которую входят ровно $K$ различных букв, и выведите ее длину.
длина строки $S \le 5000$. Оценивается в $30$ баллов.
длина строки $S \le 10^5$. Оценивается в $50$ баллов.
Каждая следующая подзадача оценивается только при прохождении всех предыдущих.
Входные данные
В первой строке входного файла задается одна строка $S$, состоящая из строчных букв английского алфавита. Во второй строке задается одно целое положительное число $K$ ($ 1\le K \le 26$).Выходные данные
Выведите ответ к задаче или -1, если такой подстроки не существует.Примеры
aaabbccc 3
Ответ:
4
Оценивание:
Данная задача содержит три подзадачи: длина строки $S \le 100$. Оценивается в $20$ баллов.длина строки $S \le 5000$. Оценивается в $30$ баллов.
длина строки $S \le 10^5$. Оценивается в $50$ баллов.
Каждая следующая подзадача оценивается только при прохождении всех предыдущих.
комментарий/решение(1)
Темирулану и Пернехану подарили последовательность $A$ из $1 \le N \le 5000$ целых положительных чисел. Они договорились поделить эту последовательность. Каждый из них должен взять некоторую не пустую последовательную часть последовательности, причем часть Темирулана должна начинаться раньше части Пернехана. Они хотят выглядеть уникально, поэтому они хотят чтобы не существовало ни одного числа, встречающегося в участке Темирулана и Пернехана одновременно. Айдос, наблюдавший за ними, заинтересовался, сколько существует различных способов сделать это. Помогите ему, напишите программу для количества способов.
$1 \le N \le 50$. Оценивается в $11$ баллов.
$1 \le N \le 500$. Оценивается в $21$ балл.
$1 \le N \le 2000$. Оценивается в $31$ балл.
$1 \le N \le 5000$. Оценивается в $37$ баллов.
Входные данные:
Первая строка входных данных содержит целое число $N$. Следующая строка содержит $N$ целых чисел $1 \le A_i \le N$, $1 \le i \le N$, разделенных пробелами.Выходные данные:
Выведите единственное число — ответ на задачу.Примеры:
1.Вход:3 1 2 3Ответ:
52.Вход:
4 1 2 3 2Ответ:
93.Вход:
1 1Ответ:
0Во втором тестовом примере есть следующие способы разделения: \{ [1] [2] 3 2 \}, \{ [1] [2 3] 2 \}, \{ [1] [2 3 2] \}, \{ [1] 2 [3] 2 \}, \{ [1] 2 [3 2] \}, \{ [1] 2 3 [2] \}, \{ [1 2] [3] 2 \}, \{ 1 [2] [3] 2 \}, \{ 1 2 [3] [2] \}
Оценивание:
Данная задача содержит четыре подзадачи:$1 \le N \le 50$. Оценивается в $11$ баллов.
$1 \le N \le 500$. Оценивается в $21$ балл.
$1 \le N \le 2000$. Оценивается в $31$ балл.
$1 \le N \le 5000$. Оценивается в $37$ баллов.
комментарий/решение
На прошлой неделе на уроке математики Жандос узнал как взять число по модулю. Определим A по модулю B как остаток от деления A на B и обозначим его как A mod B. Учитель по математике задал домашнее задание: найти количество чисел В от L до R включительно, что A mod B = C.
Жандосу нужно сделать домашнюю работу, но он хочет посмотреть футбол. Потому он обратился к вам за помощью. Напишите программу, которая по числам A, C, L, R найдет количество чисел B от L до R включительно, что A mod B = C.
Не менее 25\% тестов с ограничениями $0 \le R - L \le 10^6$.
Жандосу нужно сделать домашнюю работу, но он хочет посмотреть футбол. Потому он обратился к вам за помощью. Напишите программу, которая по числам A, C, L, R найдет количество чисел B от L до R включительно, что A mod B = C.
Входные данные:
В единственной строке ввода даны целые числа A, C, L, R ($0 \le A, C, L, R \le 10^9$).Выходные данные:
Выведите ответ на задачу.Примеры:
1.Вход:21 5 1 21Ответ:
22.Вход:
32443 463 457 3716Ответ:
12
Оценивание:
Баллы выдаются пропорционально количеству пройденных тестов.:Не менее 25\% тестов с ограничениями $0 \le R - L \le 10^6$.
комментарий/решение(3)
Скоро состоится командное соревнование <<Наурыз Cup 2015>>. Команда должна состоять ровно из двух участников. Аманчик сильно хочет в нем участвовать. Он достал список всех $2 \cdot N$ ($1 \le N \le 10^5$) участников включая себя . У каждого участника есть свой рейтинг. Рейтинг команды это средний рейтинг двух участников. Чем выше рейтинг команды тем выше его место. Команда занимает место под номером $K+1$, если есть ровно $K$ команд, рейтинг которых строго больше .
Из всевозможных разбиений, какое самое высокое и самое низкое место может занять команда Аманчика. Аманчик участник под номером 1.
$1 \le N \le 3$. Оценивается в $7$ баллов.
$1 \le N \le 6$. Оценивается в $19$ баллов.
$1 \le N \le 2500$. Оценивается в $31$ балл.
$1 \le N \le 10^5$. Оценивается в $43$ балла.
Каждая следующая подзадача оценивается только при прохождении всех предыдущих.
Из всевозможных разбиений, какое самое высокое и самое низкое место может занять команда Аманчика. Аманчик участник под номером 1.
Входные данные:
Первая строка входных данных содержит целое число $N$. Следующая строка содержит $2 \cdot N$ целых чисел $1 \le a_i \le 10^5$, $1 \le i \le 2 \cdot N$, разделенных пробелами.Выходные данные:
Выведите два числа самое высокое и самое низкое место.Примеры:
1.Вход:3 999 3 1 2 1000 1Ответ:
1 22.Вход:
1 1540 1433Ответ:
1 13.Вход:
3 100000 100000 100000 100000 100000 100000Ответ:
1 1В первом примере если мы разобьем участников следующим образом (999, 2) (3, 1) (1000, 1) то команда Аманчика (999, 2) и команда (1000, 1) возьмут первые места, а команда (3, 1) возьмет третье место. А если мы разобьем следующим образом (999, 1) (1000, 2) (3, 1) то команда Аманчика возьмет второе место. Из всевозможных разбиений, указанные выше будут соответствовать самым высоким и самым низким местам.
Оценивание:
Данная задача содержит четыре подзадачи:$1 \le N \le 3$. Оценивается в $7$ баллов.
$1 \le N \le 6$. Оценивается в $19$ баллов.
$1 \le N \le 2500$. Оценивается в $31$ балл.
$1 \le N \le 10^5$. Оценивается в $43$ балла.
Каждая следующая подзадача оценивается только при прохождении всех предыдущих.
комментарий/решение