这道题非常的灵活。。乍一看好像很麻烦,需要搜索,但是实际上对酒的需求量和劳动力是一样的,可以利用这点,从左向右一次扫描每一个村庄,用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; }
时间: 2024-08-07 18:07:05