[USACO 2007 Jan B]Making Change
题号:NC25038
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
64bit IO Format: %lld

题目描述

Poor Bessie has taken a job in the convenience store located just over the border in Slobbovia. Slobbovians use different coinages than the USA; their coin values change day-by-day!
Help Bessie make optimal change for Slobbovian shoppers. You will need to create C (1 <= C <= 1000) cents of change using N (1 <= N <= 10) coins of various values. All test cases will be solvable using the supplied coins.
If 5 coins of values 50, 25, 10, 5, and 1 were available, Bessie would make optimum change (minimal coins) of 93 cents by using 1 x 50, 1 x 25, 1 x 10, 1 x 5, and 3 x 1 coins (a total of 7 coins).
How hard could it be? The final two test cases will be challenging.

输入描述:

* Line 1: Two space-separate integers: C and N
* Lines 2..N+1: Each line contains a single unique integer that is a coin value that can be used to create change

输出描述:

* Line 1: A single integer that is the minimum number of coins to create C cents
示例1

输入

复制
93 5
25
50
10
1
5

输出

复制
7