Сортировки и последовательности

advertisement
Летние сборы для школьников Башкортостана по информатике 2007
Третий тур
Задача A
Минимумы (120 баллов)
Имя входного файла:
Имя выходного файла:
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
min.in
min.out
1 секунда
64 мегабайта
Дано N чисел. Требуется для каждых K подряд идущих чисел найти минимальное среди них.
Формат входных данных
В первой строке даны числа N и K (1<=N,K<=100000), разделенные пробелом. Во второй
строке записано N целых чисел через пробел. Числа находятся в диапазоне от -109 до109.
Формат выходных данных
Для каждых К подряд идущих чисел вывести минимальное из них.
Примеры
min.in
11 3
8 764 1 3 85 2 4 5 77 1 5
Задача B
min.out
1 1 1 2 2 2 4 1 1
Представление (120 баллов)
Имя входного файла:
Имя выходного файла:
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
presentation.in
presentation.out
1 секунда
64 мегабайта
Дано N натуральных чисел. Требуется для каждого числа найти количество вариантов его
представления в виде суммы двух других чисел из данного набора.
Формат входных данных
В первой строке дано число N (1<=N<=10000). Далее заданы N натуральных чисел, не
превосходящих 109. Для каждого числа количество разбиений меньше 231.
Формат выходных данных
В первой строке количество K-значных очень простых чисел, далее сами числа в порядке
возрастания.
Примеры
presentation.in
5
1 1 2 2 3
presentation.out
0 0 1 1 4
Летние сборы для школьников Башкортостана по информатике 2007
Третий тур
Задача C
Распаковка строчки (60 баллов)
Имя входного файла:
Имя выходного файла:
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
unpack.in
unpack.out
1 секунда
64 мегабайта
Будем рассматривать только строчки, состоящие из заглавных латинских букв. Например, рассмотрим
строку AAAABCCCCCDDDD. Длина этой строки равна 14. Поскольку строка состоит только из латинских
букв, повторяющиеся символы могут быть удалены и заменены числами, определяющими количество
повторений. Таким образом, данная строка может быть представлена как 4AB5C4D. Длина такой строки 7.
Описанный метод мы назовем упаковкой строки.
Требуется по упакованной строчке восстановить исходную строку.
Формат входных данных
Входной файл содержит одну упакованную строку. В строке могут встречаться только конструкции
вида nA, где n — количество повторений символа (целое число от 2 до 99), а A — заглавная латинская буква,
либо конструкции вида A, то есть символ без числа, определяющего количество повторений. Максимальная
длина строки не превышает 80.
Формат выходных данных
В выходной файл выведите восстановленную строку. При этом строка должна быть разбита на строчки
длиной ровно по 40 символов (за исключением последней, которая может содержать меньше 40 символов).
Примеры
unpack.in
3A4B7D
22D7AC18FGD
95AB
40AB39A
Задача D
unpack.out
AAABBBBDDDDDDD
DDDDDDDDDDDDDDDDDDDDDDAAAAAAACFFFFFFFFFF
FFFFFFFFGD
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAB
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Скобки (100 баллов)
Имя входного файла:
Имя выходного файла:
Максимальное время работы на одном тесте:
Максимальный объем используемой памяти:
brackets.in
brackets.out
1 секунда
64 мегабайта
Даны несколько последовательностей из 26 видов скобок, которые обозначаются как
маленькие (открывающиеся скобки) и большие (закрывающиеся скобки) латинские буквы.
Требуется для каждой последовательности проверить её корректность.
Формат входных данных
В каждой строке записана скобочная последовательность, длиной не более 500000 скобок.
Строк не более 10.
Формат выходных данных
Для каждой последовательности соответствующая строка выходного файла должна
содержать “YES”, если последовательность правильная, или “NO” в противном случае.
Примеры
brackets.in
abBA
abAB
aAbB
Abba
brackets.out
YES
NO
YES
NO
Download