poj 2940 Wine Trading in Gergovia

来源:互联网 发布:java gui 输入框 编辑:程序博客网 时间:2024/05/17 04:14

1.题意:有n个居民买酒与卖酒,没移动一个房子距离相当用一个工作量,求最少工作量。

55 -4 1 -3 16-1000 -1000 -1000 1000 1000 10000

多个样例,每个样例有两行,5代表有5个居民,第二行代表每个居民的需求,整数代表买进,负数代表卖出;

2.思路:一家一家的访问,一家一家的累加即可;

3.优化后代码:

#include<stdio.h>int main(){    int n;    int a;    long long sum;    long long ans;    while(scanf("%d",&n)!=EOF)    {        if(n==0)        break;        sum=ans=0;        for(int i=0;i<n;i++)        {            scanf("%d",&a);            sum+=a;            if(sum<0)            ans-=sum;            if(sum>=0)            ans+=sum;        }        printf("%lld\n",ans);    }    return 0;}


 

原创粉丝点击