printРабочее место участника

printЗадачи

1506. Сдача

Ограничения: время – 200ms/500ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0) idea

"Я знаю больше двухсот способов сдать сдачу в один доллар и один пенни" – сказал Апу, отсчитывая сдачу Гомеру с пятерки за конфеты.
"Думаю, даже если использовать монеты всех шести номиналов, количество способов не может быть больше ста" – ответил Гомер.
Чтобы Гомер смог проверить утверждение Апу, напишите программу, которая определяет количество способов сдать сдачу монетами заданных номиналов.
Первая строка ввода содержит два целых числа – сумма сдачи `S` (`1\ ≤\ S\ ≤\ 10000`) и количество различных номиналов монет `N` (`1\ ≤\ N\ ≤\ 10`). В следующей строке `N` различных целых чисел в диапазоне от 1 до 1000 в порядке возрастания – номиналы монет.
Вывести одно целое число – количество количество способов сдать сдачу монетами заданных номиналов.

Пример ввода

101 6
1 5 10 25 50 100

Пример вывода

293
loading