题目链接:洛谷 B3628
如有侵权,联系必删
题意分析:
题目中出现了 至少需要 证明其大概率是一道贪心题。
题目告诉我们,每过一个关卡都会加血或扣血,我们就用 0 滴血走一遍,看看血量的最小值,取绝对值加一即可
#include<iostream>
#include<cmath>
using namespace std;
const int N = 1e5+10;
int a[N];
int s;
int main(){
int n;
cin>>n;
int mn =0;//因为扣血,所以最小值一定小于等于零,因为如果全程加血,0滴血又有什么关系呢(残血勇士)
for(int i = 1;i<=n;i++){
cin>>a[i];
s += a[i];
mn = min(mn,s);
}
cout<<abs(mn)+1;//abs是cmath里的取绝对值函数,要用的话记得加头文件 #include<cmath>
return 0;//好习惯
}