贪心,扫描。
考虑最左边的村庄,假设它需要买酒,a1>0,那么一定需要a1个劳动力从村庄2运过来,而不管这些就是村庄2的,还是从更远处运到村庄2的。同理,a1<0时也成立。
#include <cstdio>
#include <cmath>
int main()
{
int n;
//freopen("in.txt","r",stdin);
while ( scanf("%d",&n)==1&&n ) {
long long a,last=0, ans = 0;
for( int i=0; i<n; ++i ) {
scanf("%d",&a);
ans+= abs(last);
last+= a;
}
printf("%lld\n",ans);
}
//fclose(stdin);
return 0;
}