Летние сборы для школьников Башкортостана по информатике 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