Problem2919--【Div3】硬币与付款(简单版)

2919: 【Div3】硬币与付款(简单版)

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MB

Description

你手上有n种面值的硬币,不同硬币的面值之间可能不相等也可能相等,还有一个特点就是不论面值是多少,但都是2的某个非负次方,例如:1、2、4、8、1024、4096等
现在,你需要支付m元钱,你准备从你拥有的n枚硬币选一些来支付,你希望使用的硬币数量越少越好,请输出这个最小的数量,如果你完全无法支付这个m元钱,请打印-1


数据范围:
1<= n,m <=1000

输入分两行,第一行两个整数,分别是n和m,第二行n个整数,表示这n枚硬币的面值。
输出:最少用多少枚硬币可以支付,如果不存在支付方案,打印-1

Sample Input Copy

5 12
2 4 8 2 4

Sample Output Copy

2

Source/Category