出发能量
时间限制: 1 Sec 内存限制: 128 MB
题目描述
机器人班在玩比赛,比赛场地有 N 个格子依次排成一行,机器人要从第 1 个格子走 过第 N 个格子。每一个格子里面都有一个能量值,有的为正能量,有的为负能量。正能量, 表示机器人可以得到这个能量,负能量,表示机器人要失去这么多能量。在任何格子中(包 括开始),机器人的能量都不能小于 0。一旦机器人的能量小于 0,任务就失败了。 为了完成任务,机器人出发时,至少需要携带多少能量?
输入
第一行:一个整数 N。
第二行:N 个整数,表示格子里面的能量值 a[i]。
输出
一个整数,意义如题所述。
样例输入
5
1 -3 -1 3 -2
样例输出
3
提示
走到第一个格子时 1=1,需要携带 0;
走到第二个格子时 1-3=-2,需要携带 2;
走到第三个格子时 1-3-1=-3,需要携带 3; ……
#include<bits/stdc++.h>
using namespace std;
#define M 1000005
long long a[M],ans=0;
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++){cin>>a[i];ans=ans+a[i];}
if(ans>=0)cout<<0<<endl;
else{
ans=abs(ans)+1;
cout<<ans<<endl;
}
return 0;
}