分析:考虑最左边的村庄1,若a1>0,则村庄2必会给村庄1送酒,不管这些酒从哪里来。同理,对于左边的村庄,酒的需求是a1+..+ai,这些需求必然来于右边,那么运送成本即需求的绝对值,而当前的需求即左边村庄的需求加上当前村庄的需求。
#include <cstdio>
#include <cmath>
using namespace std;
int main()
{
int n;
while(~scanf("%d",&n)&&n) {
int a, last = 0;
long long ans = 0;
for(int i=0; i<n; i++) {
scanf("%d", &a);
ans += abs(last);
last += a;
}
printf("%lld\n", ans);
}
return 0;
}