A. Проблема сапожника
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
cobbler.in
вывод
cobbler.out

В некоей воинской части есть сапожник. Рабочий день сапожника длится N минут. Заведующий складом оценивает работу сапожника по количеству починенной обуви, независимо от того, насколько сложный ремонт требовался в каждом случае. Дано k сапог, нуждающихся в починке. Определите, какое максимальное количество из них сапожник сможет починить за один рабочий день.

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

В первой строке вводятся числа N (натуральное, не превышает 1000) и k (натуральное, не превышает 500). Затем идет k чисел — количество минут, которые требуются, чтобы починить i-й сапог (времена — натуральные числа, не превосходят 100).

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

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

Примеры тестов

Входные данные
10 3
6 2 8
Выходные данные
2
Входные данные
3 2
10 20
Выходные данные
0

B. Выбор заявок
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
request.in
вывод
request.out

Вы прекрасно знаете, что в ЛКШ.Зима 2013 лекции читают лучшие преподаватели мира. К сожалению, лекционных аудиторий у нас не так уж и много, поэтому каждый преподаватель составил список лекций, которые он хочет прочитать ЛКШатам. Чтобы ЛКШата, утром идя на завтрак, увидели расписание лекций, необходимо его составить прямо сейчас. И без вас нам здесь не справиться.

У нас есть список заявок от преподавателей на лекции для одной из аудиторий. Каждая заявка представлена в виде временного интервала [si, fi) — время начала и конца лекции. Лекция считается открытым интервалом, то есть какая-то лекция может начаться в момент окончания другой, без перерыва. Необходимо выбрать из этих заявок такое подмножество, чтобы суммарно выполнить максимальное количество заявок. Учтите, что одновременно в лекционной аудитории, конечно же, может читаться лишь одна лекция.

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

В первой строке вводится натуральное число N, не более 1000 — общее количество заявок на лекции. Затем вводится N строк с описаниями заявок — по два числа в каждом si и fi. Гарантируется, что si < fi. Время начала и окончания лекции — натуральные числа, не превышают 1440 (в минутах с начала суток).

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

Выведите одно число — максимальное количество заявок, которые можно выполнить.

Примеры тестов

Входные данные
1
5 10
Выходные данные
1
Входные данные
3
1 5
2 3
3 4
Выходные данные
2
C. Распечатка условий
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
printing.in
вывод
printing.out

Популярность окружной олимпиады по информатике растёт год от года. При этом организаторы должны заранее распечатать как условия задач, так и другие материалы олимпиады (анкеты, памятки и т.п.). В этом году они оценили объём печатной продукции в N листов.

Фирма, готовая размножить печатные материалы, предлагает следующие финансовые условия. Один лист она печатает за A1 рублей, 10 листов — за A2 рублей, 100 листов — за A3 рублей, 1000 листов — за A4 рублей, 10000 листов — за A5 рублей, 100000 листов — за A6 рублей, 1000000 листов — за A7 рублей. При этом не гарантируется, что один лист в более крупном заказе обойдется дешевле, чем в более мелком. И даже может оказаться, что для любой партии будет выгодно воспользоваться тарифом для одного листа.

Печать конкретного заказа производится или путем комбинации нескольких тарифов, или путем заказа более крупной партии. Например, 980 листов можно распечатать, заказав печать 9 партий по 100 листов плюс 8 партий по 10 листов, сделав 98 заказов по 10 листов, 980 заказов по 1 листу или заказав печать 1000 (или даже 10000 и более) листов, если это окажется выгоднее. Требуется по заданному объему заказа в листах N определить минимальную сумму денег в рублях, которой будет достаточно для выполнения заказа.

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

На вход программе сначала подается число N (1 ≤ N ≤ 2 × 109) –— количество листов в заказе. В следующих 7 строках ввода находятся натуральные числа A1, A2, A3, A4, A5, A6, A7 соответственно (1 ≤ Ai ≤ 106).

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

Выведите одно число –— минимальную сумму денег в рублях, которая нужна для выполнения заказа. Гарантируется, что правильный ответ не будет превышать 2 × 109.

Примеры тестов

Входные данные
980
1
9
90
900
1000
10000
10000
Выходные данные
882
Входные данные
980
1
10
100
1000
900
10000
10000
Выходные данные
900

D. Алиса и яблоки
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
apples.in
вывод
apples.out

Алисе в стране чудес попались n волшебных яблок. Про каждое яблоко известно, что после того, как его съешь, твой рост сначала уменьшится на ai сантиметров, а потом увеличится на bi сантиметров. Алиса очень голодная и хочет съесть все n яблок, но боится, что в какой-то момент ее рост станет равным нулю или еще меньше, и она пропадет совсем. Помогите ей узнать, можно ли съесть яблоки в таком порядке, чтобы в любой момент времени рост Алисы был больше нуля.

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

В первой строке вводятся натуральные числа n и s, не более 1000 — число яблок и начальный рост Алисы. В следующих n строках вводятся пары натуральных чисел ai, bi, не больших 1000.

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

Если яблоки съесть нельзя, выведите число -1. Иначе выведите n чисел — номера яблок, в том порядке, в котором их нужно есть.

Примеры тестов

Входные данные
3 5
2 3
10 5
5 10
Выходные данные
1 3 2
Входные данные
3 5
2 3
10 5
5 6
Выходные данные
-1
E. Индикатор
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
64 мегабайта
ввод
indic.in
вывод
indic.out

Недавно Вася приобрел настольный калькулятор с жидкокристаллическим индикатором. Этот индикатор отображает n цифр с помощью n одинаковых элементов.

Отметим, что каждый элемент содержит семь полосок, каждая из которых может быть либо белой, либо черной. В частности, при отображении цифры «1» черными являются две полоски.

Вася — очень любознательный мальчик, поэтому он хочет узнать, какое максимальное и минимальное n-значное число может быть отображены на индикаторе его нового калькулятора так, чтобы черными были ровно k полосок.

Напишите программу, которая найдет ответ на Васин вопрос. Учитывайте при этом, что числа не могут содержать ведущие нули.

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

Первая строка входного файла содержит два целых числа: n и k (1 ≤ n ≤ 100, 1 ≤ k ≤ 700).

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

В первой строке выходного файла выведите минимальное число, во второй строке выходного файла выведите максимальное число. Если указанным образом не может быть представлено ни одно число, выходной файл должен содержать одну строку NO SOLUTION.

Примеры тестов

Входные данные
5 15
Выходные данные
10117
97111
Входные данные
10 1
Выходные данные
NO SOLUTION