uva 10137 The trip

水题。

求最小交易总额。

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cmath>
#include <cstring>
using namespace std;
double money[1010];
int main()
{
    int n;
    while(scanf("%d",&n),n!=0)
    {
        double avg=0;
        for(int i=1;i<=n;i++)
        {
            scanf("%lf",&money[i]);
            avg+=money[i];
        }
        avg/=n;
        avg+=0.005;
        avg=(int)(avg*100)/100.0;
        double x=0,y=0;
        for(int i=1;i<=n;i++)
        {
            if(money[i]>avg)
                x+=(money[i]-avg);
            else
                y+=(avg-money[i]);
        }
        printf("$%.2lf\n",x<y?x:y);
    }
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/overflow/p/3134527.html