POJ 2646 The Trip

这道题都快要被坑哭了,纯粹的水题,巨水,还是浪费我很多时间,归结到底还是英语太差

within one cent。。。这个使说精确到1美分,后面的小数就不再考虑了,我理解成每个人平均交的钱可以在一美分的差距之内

后来看了解题报告做出来,不爽,一点感觉都没有

#include <stdio.h>
#include<algorithm>
#include<math.h>
const int INF=1000000;
using namespace std;
int main()
{
    int n,i;
    double a[1100];
    while(scanf("%d",&n) && n)
    {
        double  sum=0;
        for (i=0; i<n; i++)
        {
            scanf("%lf",&a[i]);
            sum+=a[i];
        }
        double aver=sum/n;
        double dollar1=0,dollar2=0;
        aver=int(aver*100+0.5)/100.0;
        for (i=0;i<n;i++)
        {
            if(a[i]<aver) dollar1+=aver-a[i];
            else dollar2+=a[i]-aver;
        }
        printf("$%.2lf\n",min(dollar1,dollar2));
    }
    return 0;
}
posted @ 2012-05-15 20:26  calmound  阅读(252)  评论(0编辑  收藏  举报