问题 1789: 小O的溢出

时间限制: 1Sec 内存限制: 128MB 提交: 34 解决: 8

题目描述
除了学习C语言外,小O同样喜欢各种游戏,最近小O沉迷于
一款卡牌游戏不能自拔,小O希望在游戏中获得更高的排名
游戏的排名是根据获得的point的数量来计算的,获得point的
方法是用手中的卡牌去挑战BOSS,造成的伤害点数就是能获得的
point,point越高则排名越高,小O当然希望自己排名越高越好了
但是他不知道怎么使用手中的卡牌能获得更多的点数,
不过他知道聪明的你能帮他解决这个问题,所以来找你帮忙了
为了简化问题,我们假定小O手中拥有n张卡牌,
每张卡牌有一个攻击力a[i],BOSS的血量为m点
每张卡牌最多可以使用一次(可以不用,顺序随意),
当BOSS的血量少于等于0时,不能再攻击
因为point点数是根据伤害计算的,
所以最后一击的攻击力会被全部计入伤害中
输入
多组测试数据,请读入至文件尾
每组测试数据占两行
第一行为两个整数n,m,分别表示卡牌数和BOSS血量(1<=n<=100,1<=m<=10000)
第二行为n个整数表示n张卡牌的攻击力ai(1<=ai<=10000)
输出
对于每组测试数据输出一个整数表示最多能获得的point
样例输入
5 10
1 2 3 4 5
5 10
1 1 1 1 1
4 10
1 2 3 4
样例输出
14
5
10
提示
标签  标签反馈

通过率

统 计

 提交 34
 正确 8
 格式错误 0
 答案错误 20
 时间超限 0
 输出超限 0
 运行错误 4
 编译错误 2