猫猫有 $$$n$$$ 个物品,第 $$$i$$$ 个物品的质量为 $$$a_i$$$,现在猫猫打算把它们全部装到背包里,可是他发现只有一大堆容量都为 $$$m$$$ 的背包。
虽然猫猫很想用尽量少的背包装下所有物品,但这实在是太复杂了,导致他经常会错过最优解,于是他干脆摆烂了:
他想知道,最少要准备多少个背包,才能保证他无论如何操作,最终都能将所有物品放入背包内。
这个问题就交给你了!
每个测试点有多组测试数据。
第一行输入数据组数 $$$T$$$ ($$$1 \leq T \leq 100$$$),表示有 $$$T$$$ 组数据;
接下来对于每组测试数据,
第一行输入两个正整数 $$$n,m$$$ ($$$1 \leq n \leq 20$$$, $$$1 \leq m \leq 10^9$$$),分别表示物品的数量和背包的容量;
第二行输入 $$$n$$$ 个正整数 $$$a_1,a_2,...,a_n$$$ ($$$1 \leq a_i \leq m$$$),表示每个物品的大小。
保证每组测试数据中,$$$n \geq 15$$$ 的数据点不超过 $$$5$$$ 个。
对于每组测试数据,输出一个正整数 $$$x$$$,表示最少需要准备 $$$x$$$ 个背包。
35 106 5 4 3 23 21 1 21 54
3 3 1
对于第一组测试样例,若只有两个背包,则猫猫可以:
可以证明,若猫猫有三个背包,则无论以何种顺序放入物品均能装下。