Задача A. Квесты

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

Команда школьников – разработчиков компьютерной игры – решила, что один из ее уровней будет представлять собой квест, в котором необходимо выполнить N заданий. Каждое задание необходимо выполнить, чтобы дойти до конца квеста и пройти на следующий уровень. При этом каждое задание имеет сложность ai и награду ti очков опыта. Если персонаж игрока имеет опыт меньше, чем ai, он не сможет выполнить задание и получить награду. В случае, если задание выполнено, персонаж получает соответствующую награду.

Для оценки сложности уровня требуется написать программу, которая поможет определить, сможет ли игрок преодолеть квест, если в начале уровня имеет K очков опыта и выполняет задания успешно и последовательно одно за другим.

Напишите программу для решения этой задачи!

Формат входных данных

В первой строке через пробел вводятся два целых числа N, K, 1 ≤ N ≤ 100, 0 ≤ K ≤ 105, где N – количество заданий квеста, которые необходимо выполнить последовательно для перехода на следующий уровень, K – количество очков опыта персонажа игрока, которым он обладает при входе на уровень.

Во второй строке через пробел вводятся N целых чисел ai, 0 ≤ ai ≤ 105, которые показывают сложность каждого задания.

В третьей строке через пробел вводятся N целых чисел ti, 0 ≤ ti ≤ 105, которые представляют собой награду – количество очков опыта, которое приобретет игрок после выполнения i-го задания. Все задания необходимо выполнить последовательно для перехода на следующий уровень.

Формат выходных данных

В единственной строке выведите через пробел слово WIN и целое число – количество очков опыта, который будет у персонажа игры, если квест может быть успешно пройден, или только слово FAIL, если он не сможет пройти квест при заданном K.

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

Стандартный вход Стандартный выход
1
3 50
20 65 90
25 65 100
WIN 240
2
5 5
0 10 30 25 40
5 15 30 30 50
FAIL

Задача B. Клады

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

В ходе разработки игрового сценария команда разработчиков решила предусмотреть возможность найти клад для игровых персонажей. Клад может состоять из нескольких предметов, у каждого из которых есть своя стоимость. Предметы можно затем продать, для того, чтобы заработать золото на покупку инвентаря и оружия персонажа. Для того, чтобы было проще написать программу в дальнейшем, решили, что стоимость отдельных типов предметов будет фиксирована: 100, 200, 500 и 1000 золотых.

Ребята хотят, чтобы клады в игре были максимально разнообразны. Помогите команде разработчиков написать программу для подсчета количества возможных различных способов составить клад из предметов (стоимости 100, 200, 500, 1000 золотых) для заданной общей стоимости клада N золотых.

Напишите программу для решения этой задачи!

Формат входных данных

Единственная строка содержит целое положительное число N, 0 < N ≤ 105.

Формат выходных данных

Выведите единственное целое число K, которое показывает количество способов составить клад из предметов фиксированной стоимости.

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

Стандартный вход Стандартный выход
1
100
1
2
700
6

Задача C. Результат суммы

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:256 Мб
Максимальный балл:100  

Условие

Вывести сумму двух заданных чисел.

Формат входных данных

На первой строке входного файла находятся два целых числа a и b ( − 109 ≤ a, b ≤ 109).

Формат выходных данных

Вашей программе требуется вывести единственное число — сумму заданных чисел a + b.

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

Стандартный вход Стандартный выход
1
3 2
5
2
10 -18
-8

0.183s 0.010s 17