UVa 10137 - The Trip Solution

#include <iostream>
#include <cmath>
#include <algorithm>
#include <vector>
#include <iomanip>
using namespace std;
int main(){
    ios::sync_with_stdio(0);
    int n;
    while(cin>>n){
        if(!n)
            return 0;
        vector<int> a(n);
        int sum=0;
        for(int i=0;i<n;i++){
            double f;
            cin>>f;
            a[i]=round(f*100);
            sum+=a[i];
        }
        int mn=floor((double)sum/n),mx=ceil((double)sum/n);
        int ans1=0,ans2=0;
        for(int i=0;i<n;i++){
            if(a[i]<mn)
                ans1+=mn-a[i];
            else if(a[i]>mx)
                ans2+=a[i]-mx;
            }
        cout<<'$'<<max(ans1,ans2)/100<<'.'<<setw(2)<<setfill('0')<<max(ans1,ans2)%100<<endl;
    }
}

Comments