poj 2646 The Trip

#include <iostream>
#include <algorithm>
#include <cstdio>
#define N 1100
using namespace std;
int main()
{
    int i,n;
    double a[N];
    while(cin>>n,n)
    {
        double sum=0,num1=0,num2=0;
        for(i=0; i<n; i++) {
            cin>>a[i];
            sum+=a[i];
        }
        sum/=n;
        int ave=sum*100+0.5;/*这个题的精粹,对于精度的取舍问题*/
        sum=ave/100.0;
        for(i=0; i<n; i++) {
            if(a[i]<sum)
                num1+=sum-a[i];
            else
                num2+=a[i]-sum;
        }
        if(num2<num1)
            num1=num2;
        printf("$%.2lf\n",num1);
    }
    return 0;
}

 Orz

posted @ 2016-04-06 19:55  byonlym  阅读(157)  评论(0)    收藏  举报