这道题非常的灵活。。乍一看好像很麻烦,需要搜索,但是实际上对酒的需求量和劳动力是一样的,可以利用这点,从左向右一次扫描每一个村庄,用last表示当前村庄的对酒的需求情况(到最后一个时,last必定为0)然后就相当于他要向下一个村庄转移这么多酒,即需要花费这么多的劳动力。
#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
while(~scanf("%d",&n)&&n){
long long ans = 0,a,last = 0;
for(int i=0;i<n;i++){
scanf("%lld",&a);
ans += abs(last);
last += a;
}
printf("%lld\n",ans);
}
return 0;
}