UVA 11054 - Wine trading in Gergovia

因为最终都会满足每个人的要求。所以我们可以当作每个居民与他的邻居进行交易,将每次的交易额计算出来相加即可。

#include<cstdio>
#include<cstdlib>
#define MAXN 100010

int a[MAXN];
long long min, w;
int n;
int main()
{
while( scanf( "%d", &n), n)
{
for( int i = 0; i < n; i ++)
scanf( "%d", &a[i]);
min = w = 0;
for( int i = 0; i < n; i ++)
{
min += abs( w);
w += a[i];
}
printf( "%lld\n", min);
}
return 0;
}

 

你可能感兴趣的:(wine)