РСОП XXXV 2023
34
J.
МОНЕТИ
210
Условие
J. Монети
---
Имало едно време малко селце, в което хората използвали различни видове монети за ежедневните си транзакции. Всяка монета имала различна стойност и хората използвали различни комбинации от монети, за да плащат за покупките си. Имало обаче един проблем – жителите на селото често се затруднявали да образуват дадена сума, особено когато нямали достатъчно монети от същия номинал.
Помогнете на жителите от селцето, като напишете програма, която намира минималния брой монети, необходими за образуването на дадена сума.
Вход: Програмата трябва при едно изпълнение да въведе от стандартния вход и да обработи няколко теста. Първият ред за всеки тест съдържа две цели числа: s и n, разделени с интервал, s представлява сумата, която трябва да се образува, а n представлява броят на различните номинали на наличните монети. Вторият ред за всеки тест съдържа списък от n цели числа, разделени с интервал, които представляват стойността на всеки номинал на монетите.
Изход: За всеки тестов пример на един ред на стандартният изход се извежда едно цяло число, представляващо минималния брой монети, необходими за образуването на дадената сума.
Ограничения: 1 ≤ s, n ≤ 1000
Примерен вход:
50 3
25 10 5
100 5
1 2 5 10 20
Примерен изход:
2
5