题目大意;有N家酒吧,每家酒吧都有需求,不是要卖酒,就是要买酒,有K个单位的劳动力可以把酒带到另一处,每个劳动力可带一个单位的酒,求满足所有酒吧需求的劳动力的最小值
解题思路:从第一家酒吧开始,如果要满足第一家酒吧的需求,则就必须要有劳动力从第二家酒吧来,先不管这些劳动力如何来,这样第二家酒吧的需求就等于第一家酒吧的需求加上自身的需求,这样就等价于2-n个酒吧的需求了
#include<cstdio>
#include<cmath>
using namespace std;
int main() {
long long num;
while(scanf("%lld", &num) != EOF && num) {
long long ans = 0;
long long temp = 0;
long long t;
for(int i = 0; i < num; i++) {
scanf("%lld", &t);
ans = ans + t;
temp = temp + abs(ans);
}
printf("%lld\n",temp);
}
return 0;
}