2055:石炉

时间限制:2 S   /  内存限制:65536 KB
AC:238   /  Submit:636
问题描述

在一个类似于炉石的卡牌对战游戏中,玩家当前有m张卡牌,每张卡牌的伤害分别为d1、d2、...、dm。

玩家可以控制这m张卡牌中的一些攻击电脑,也可以控制其中一些不攻击电脑。当然也可以全部卡牌攻击电脑,也可以全都不攻击电脑。

电脑的血量是a,每1点伤害就会扣减电脑1点血量,电脑的血量最多只会被扣减到0,如果血量减到负数那么也算作0。

问:经过一个回合的攻击后,电脑剩余的血量有多少种可能?

输入描述

一个正整数n,表示有n组案例。

每组案例先是两个正整数m和a,分别表示卡牌的数量和电脑的血量。(m<=100,a<=10000)

然后是m个正整数d1、d2、...、dm,分别表示这m张卡牌的攻击力。(di<=1000)

输出描述

针对每组案例,输出一个整数,表示经过一个回合的攻击后,电脑剩余的血量有多少种可能。

每组案例输出完都要换行。

样例输入复制样例

2

2 100 3 5

2 100 10 100

样例输出

4

3

提示说明

第一组四种可能:100、97、95、92

第二组三种可能:100、90、0

相关

18-19(1)第5次线上赛

2018级第一学期第5次线上赛转普通练习

2019级cpp上机练习题第11周第1次(数组标记状态)

2020级cpp上机练习题第19次(使用标记变量记录状态)

2021级cpp上机练习题第19次(使用标记变量记录状态)

2022级cpp上机练习题第19次(使用标记变量记录状态)

2023级cpp上机练习题第19次(使用标记变量记录状态)

题单#19(动态规划经典问题与线性DP)


Copyright 2016 - 2024 XUJC ACM Team
闽ICP备2020022076号-1