标签:printf name out 整数 += clu lin 编号 代码
第1行:1个数n,表示格子的数量。(1 <= n <= 50000) 第2 - n + 1行:每行1个数A[i],表示格子里的能量值(-1000000000 <= A[i] <= 1000000000)
输出1个数,对应从1走到n最少需要多少初始能量。
5 1 -2 -1 3 4
2
这道题,只要机器人每走一步,就把前面的能量值统计起来,然后排列,找出最小的那个取反输出就可。
代码:
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <cstring>
using namespace std;
long long a[50005];
int main()
{
int n;
scanf("%d", &n);
for(int i = 0; i < n; i++){
scanf("%lld", &a[i]);
}
for(int i = 1; i < n; i++){
a[i] += a[i - 1];
}
sort(a, a+n);
if(a[0] >= 0)
printf("0\n");
else
printf("%lld\n", -a[0]);
return 0;
}
标签:printf name out 整数 += clu lin 编号 代码
原文地址:http://www.cnblogs.com/Joker-waston/p/7819742.html