直接按照题意模拟即可。
时间复杂度O(N)
c++
小红又在打游戏了。
这款游戏有n个关卡,小红必须从第一个关卡开始,逐关打通到第n关,才能获得胜利。
小红初始有k点血,每关的Boss有ai点血(以字符形式呈现)。由于小红点了秘技,打赢第ai+1个Boss消耗的血量将会是ai+1−ai(如果为负,那么小红会恢复ai−ai+1的血)。同时,小红只有降到0血以下时,才会失败。
小红想知道,当他打完n关时,还剩多少血?如果小红无法通关,请输出−1。
第一行两个整数n,k(1≤n,k≤105)。
第二行一个长度为n字符串s。
一行一个整数,表示他的剩余体力值。若无法走到,则输出-1。
输入
3 2
aaa
输出
2
说明
小红开始在第一关,挑战第二关时,消耗体力为0。
在第二关挑战第三关时,消耗体力为0。
最终剩余2点体力。