时间: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);}