编程题
### 问题描述 小蓝玩一款闯关游戏,已知该游戏共有从 $1$ 到 $n$ 编号的 $n$ 个关卡,第 $i$ 关的难度为 $a_i$ ,每个关卡都有怪兽镇守。小蓝在通关时可以选择攻打怪兽与否。 小蓝初始时血量为 $q$ ,游戏要求小蓝必须从 $1$ 关闯到第 $n$ 关,闯关时规则如下: - 若小蓝血量为 $0$ ,则小蓝本关无法攻打怪兽,也无法获得经验值; - 若小蓝血量为 $k$ ( $k\neq 0$ ),本关难度为 $m$ ,又有 $m\leq{k}$ ,则小蓝本关可以选择攻打怪兽,如此可以获得 $1$ 个经验值,且由于小蓝的血量大于本关的难度,本次攻打怪兽不会使血量减少; - 若小蓝血量为 $k$ ( $k\neq{0}$ ),本关难度为 $m$ ,又有 $m>k$ ,则小蓝本关可以选择攻打怪兽,如此可以获得 $1$ 个经验值,但是因为小蓝的血量低于本关难度,本次攻打怪兽会使血量减 $1$ ;小蓝也可以选择不攻打怪兽直接通关,如此本关则不能获得经验值,也不会使血量降低。 小蓝的经验值初始时为 $0$ 。小蓝想请你帮他求出,他闯过所有关卡后,最多能得到多少经验值。 ### 输入格式 第一行包含两个整数 $n,q$ ,分别表示关卡总数和小蓝初始时的血量。 第二行包含 $n$ 个整数 $a_1,a_2,\dots,a_n$ ,表示关卡的难度。 ### 输出格式 输出一个整数,表示小蓝闯过所有关卡后得到的经验值的最大值。 ### 样例输入 ``` 5 2 5 1 2 4 3 ``` ### 样例输出 ``` 4 ``` ### 评测数据规模 对于所有评测数据, $1\leq{n}\leq{10^5 },1\leq{q}\leq{10^9 },1\leq{a_i}\leq{10^9 }$ 。
查看答案
赣ICP备20007335号-2