#SS4948. SS.2018.六年级.06.飞镖
SS.2018.六年级.06.飞镖
题目描述
奶牛Bessie在玩飞镖游戏。
在飞镖板上共有N个环,编号从1到N。如果飞镖扔中第i环,那么将得到score[i]的分数。注意这N个环的分数的范围都是【1,N】,而且没有重复,也就是score[1..N]数组其实是1..N的某个排列。
现在由于某些原因,某些环的分数被盖住,看不清楚了。
Bessie扔飞镖的技术一流,以至于它想扔中哪个环就可以扔中那个环,Bessie可以选择多次扔中某个环。
Bessie的目标是使得自己的总得分至少达到P分,那么Bessie至少要扔多少次飞镖就一定可以达到目的?当然,Bessie会以最优策略去扔飞镖。
输入格式
多组测试数据。
第一行,一个整数g, 表示有g组测试数据, 1 <= g <= 10。
每组测试数据格式如下:
- 第一行,两个整数N,P。1<=N<=50, 1 <= P <= 1000000000。
- 接下来有N行,第i个整数代表score[i],如果score[i]=0则表示该环的得分被盖住了;如果1<=score[i]<=N,则表示这个环的得分。
输出格式
共g行,每行一个整数。
样例
3
5 8
0 3 4 0 0
5 15
0 0 0 0 0
8 2012
4 7 8 1 3 2 6 5
2
5
252
样例解释
第一组测试数据解释:Bessie可以连续2次都扔中第3个环,那么得分是2×4=8。
第二组测试数据解释:所有的环的得分都被盖住了,但是我们知道这5个环中,得分肯定有一个1,一个2,一个3,一个4,一个5,所以Bessie扔5次飞镖,而且每次选择扔中的都是不同的环,那么得分一定是1+2+3+4+5=15,如果扔飞镖的次数少于5,Bessie不能保证得分一定达到15分,因为环的得分都被盖住了,不能指望每次扔中的都是最高分。