Dotcpp  >  编程题库  >  小O的溢出
题目 1789:

小O的溢出

时间限制: 3s 内存限制: 192MB 提交: 98 解决: 26

题目描述

除了学习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

提示

零基础的同学可以先学习基础,教程见:  C语言教程C++教程编译器教程数据结构教程Python教程单片机教程

视频教学见视频网课

标签