时间:2016-05-11 15:59:05 星期三
题目编号:[2016-05-11][51nod][1344 走格子]
题目大意:有编号1-n的n个格子,机器人从1号格子顺序向后走,一直走到n号格子,并需要从n号格子走出去。机器人有一个初始能量,每个格子对应一个整数A[i],表示这个格子的能量值。如果A[i] > 0,机器人走到这个格子能够获取A[i]个能量,如果A[i] < 0,走到这个格子需要消耗相应的能量,如果机器人的能量 < 0,就无法继续前进了。问机器人最少需要有多少初始能量,才能完成整个旅程。
分析:设置初始能量为零,如果能量降低到负数,答案就增加差值,相当于初始值增加,
#include<stdio.h>
using namespace std;
int main(){
long long n,tmp,ans = 0,cur = 0;
scanf("%lld",&n);
for(int i = 0 ; i < n ; ++i){
scanf("%lld",&tmp);
cur += tmp;
if(cur < 0){
ans += -cur;
cur = 0;
}
}
printf("%lld\n",ans);
}