AlvinZH的1021实验plus

时间限制: 100 ms 内存限制: 65536 kb
总通过人数: 0 总提交人数: 0

题目描述

AlvinZH凭着惊人的手速,快速做完了1021实验(不快不行sad)。看看时间竟然才过去一个小时,于是他开始继续玩他的砝码。

AlvinZH桌子上已经有一个天平和一些砝码,AlvinZH认为如果在天平两端都放置砝码,需要做减法,那太复杂了,他决定在天平一端只放置物品,另一端只放置砝码。

AlvinZH现在想称得从[1~m]之间的每个整数质量的物品,但他发现现有的砝码不够用,假设AlvinZH可以从实验箱里找到各种质量的砝码,请你帮他计算一下最少需要寻找多少个砝码。

输入

输入包括多组数据。

每组数据第一行为初始砝码数n和想称得的最大质量m(0≤n≤1000,1≤m≤INT32_MAX)。

接下来一行包含n个数字,为现有的砝码的质量 mi (1 ≤ mi ≤ INT32_MAX)。

输出

对于每组数据,输出一行,为需要寻找的最小砝码数。

输入样例

2 6
1 3
3 5
1 2 2
3 20
1 5 10

输出样例

1
0
2

样例解释

样例一:初始只能称得[1]、[3]、[1+3],并不能称得[1~6]之间的所有质量,只需要寻找一个质量为2的砝码就可以了。([1]、[2]、[3]、[1+3]、[2+3]、[1+2+3])。

样例二:初始可以称得[1]、[2]、[1+2]、[2+2]、[1+2+2],不需要寻找新的砝码。

样例三:初始可以称得[1]、[5]、[1+5]、[1+10]、[5+10]、[1+5+10],需要寻找质量为2和4的砝码就ok。

最小数目一定存在,但是方法可能不同。

相关推荐