- 描述
-
给你一个整数数组,表示不同面额的硬币;以及需要兑换的总金额。
计算并输出可以凑成总金额所需的最少的硬币个数 。如果没有任何一种硬币组合能组成总金额,则输出 -1 。
你可以认为每种硬币的数量是无限的。
- 输入
- 输入的第一行是一个整数N,表示数据的组数,接下来的2N行每2行是一组输入数据。
对于每一组输入数据:
第一行是两个整数L和A,分别表示硬币的面额种类以及需要兑换的总金额,中间用空格分隔。
第二行是是L个正整数,表示每种硬币的面额,中间用空格分隔。 - 输出
- 对于每一组输入,输出为一行,包含一个整数,表示所需的最少的硬币个数,如果没有可行的组合,输出-1。
- 样例输入
-
2 3 11 1 2 5 1 3 2
- 样例输出
-
3 -1
- 提示
- L<=12
A<=10000