传送门UVa 11054 - Wine trading in Gergovia
上次做CF时也碰到类似的题目,移动纸牌。然后我不会做。
具体的解释文章里都有,就不说了。
#include <cstdio>
#include <cmath>
using namespace std;
const int MAXN = 110000;
long long num[MAXN];
int main()
{
//freopen("input.txt", "r", stdin);
long long n, i, sum, cnt;
while (scanf("%lld", &n), n)
{
cnt = sum = 0;
for (i = 0; i < n; i++)
scanf("%lld", &num[i]);
for (i = 0; i < n - 1; i++)
{
cnt += abs(num[i]);
num[i + 1] += num[i];
}
printf("%lld\n", cnt);
}
return 0;
}