题意:一条街上送啤酒,有n家居民,然后输入n个居民对啤酒的需求,正数是卖,负数是买,求出最短运输单位,一瓶啤酒从一家到最近一家是一个运输单位。
题解:根据每次输入更新运输单位,递推到最后一个。
#include <stdio.h>
#include <string.h>
#include <math.h>
const int N = 100005;
int main() {
int n, a[N], temp;
long long ans, temp2;
while (scanf("%d", &n) && n) {
ans = temp2 = 0;
for (int i = 0; i < n; i++) {
scanf("%d", &temp);
temp2 += temp;
ans += temp2 > 0 ? temp2 : -temp2;
}
printf("%lld\n", ans);
}
return 0;
}