这道题非常的灵活。。乍一看好像很麻烦,需要搜索,但是实际上对酒的需求量和劳动力是一样的,可以利用这点,从左向右一次扫描每一个村庄,用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; }
11054 - Wine trading in Gergovia
原文地址:http://blog.csdn.net/weizhuwyzc000/article/details/45724751