法力增幅
题号:NC215078
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

有一款卡牌游戏,游戏开始有n张卡牌,第i卡牌的费用为a[i],有总费用x,你可以选一卡牌,当你选了第i张卡牌你会消耗a[i]费用,之后的每张牌费用都会减1(费用不会为负, 减到0时就不会再减了),问最多能使用多少张卡牌

输入描述:

第一行两个整数(用空格隔开) n   x ,其中n为卡牌数量,x为总费用值。

第二行 n个整数(用空格隔开),a_1 a_2 ... a_na_i为第i张卡牌的费用值。

输出描述:

一个整数,表示能用出的最大卡牌数量。
示例1

输入

复制
5 8
4 4 4 3 7

输出

复制
3

说明

一共使用了3张牌

第一次使用了第3张卡牌费用为4,总费用还剩4, 剩余4张卡片费用为[3,3,2,6]。

第二次使用了第2张卡片费用为3,总费用还剩1,剩余3张卡片费用为[2,1,6]。

第三次使用了第2张卡片费用为1,总费用还剩0,剩余2张卡片费用为[1,5]

所以能使用最大卡牌数量为3。

备注:

一个整数,表示能用出的最大卡牌数量。对于的数据 :,,

对于的数据 :,