问题 1783. -- 零钱兑换

1783: 零钱兑换

时间限制: 1 Sec  内存限制: 128 MB
提交: 36  解决: 17
[提交][状态][讨论版]

题目描述

给定不同面额的硬币和一个总金额。计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合方式能组成总金额,返回-1。 

例 1: 总金额为11,有3种硬币( 1, 2, 5),则最少的硬币个数为3。(解释: 11 = 5 + 5 + 1)
例 2: 总金额为3,有1种硬币( 2 ),则输出-1。(解释: 能组成总金额

注意:你可以认为每种硬币的数量是无限的。

输入

第一行两个整数,总金额V,硬币种数N。(V<=10000,N<=100)
第二行N个整数,ai代表第i种硬币的面额(ai<=1000)。

输出

硬币个数或-1

样例输入

11 3
1 2 5

样例输出

3

提示

来源

[提交][状态]