机器人比赛场地有 N个格子依次排开,机器人要从第 1个格子走过第 N个格子。每一个格子里面都有一个能量值,有的为正能量,有的为负能量。正能量,表示机器人可以得到这个能量,负能量,表示机器人要失去这么多能量。在任何格子中,机器人的能量都不能小于 0。一旦机器人的能量小于 0,任务就失败了。
为了完成任务,机器人出发时,至少需要携带多少能量?
输入
共两行。
第一行一个整数N,表示有N个格子。
第二行N个整数,表示格子里面的能量值。
输出
一个整数,表示机器人出发时至少需要携带的能量值。
样例输入
5 1 -3 -1 3 -2
样例输出
3
提示
对于100%的数据,N≤1000000,-1000<每个格子里的能量值≤1000
这个不算难,代码如下:
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
int n,i,j,ji = 0;
cin >> n;
int a[n];
for(i = 0;i < n;i++)
{
cin >> a[i];
}
for(i = n - 1;i >= 0;i--)
{
ji -= a[i];
if(ji < 0)
{
ji = 0;
}
}
if(ji == 0)
{
cout << 0;
}
else
{
cout << abs(ji);
}
return 0;
}
创作不易,给个关注吧