#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int cmpfunc (const void * a, const void * b){
return ( - *(int*)a + *(int*)b );
}
int main() {
int students;
unsigned long long money[1000];
while(students > 0){
unsigned long long moneySum = 0;
for(int i = 0; i < students; i++){
char dummy;
unsigned long long dollar;
unsigned long long cent;
scanf("%llu%c%llu", &dollar
, &dummy
, ¢
); unsigned long long curMoney;
//printf("%f", temp);
curMoney = dollar * 100 + cent;
//printf("%llu\n", curMoney);
money[i] = curMoney;
moneySum += curMoney;
}
unsigned long long averageMoney = moneySum / students;
unsigned long long payOneMoreCentPeople = moneySum % students;
unsigned long long answer = 0;
qsort(money
, students
, sizeof(unsigned long long), cmpfunc
);
for(int i = 0; i < students; i++){
if(money[i] > averageMoney){
if(payOneMoreCentPeople > 0){
answer += money[i] - averageMoney - 1;
payOneMoreCentPeople--;
}else{
answer += money[i] - averageMoney;
}
}else{
break;
}
}
printf("$%llu.%02llu\n", answer
/100, answer
%100); }
return 0; // 정상종료 시 반드시 0을 리턴해야 합니다.
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCmludCBjbXBmdW5jIChjb25zdCB2b2lkICogYSwgY29uc3Qgdm9pZCAqIGIpewoJcmV0dXJuICggLSAqKGludCopYSArICooaW50KiliICk7Cn0KCmludCBtYWluKCkgewoJaW50IHN0dWRlbnRzOwoJdW5zaWduZWQgbG9uZyBsb25nIG1vbmV5WzEwMDBdOwoKCXNjYW5mKCIlZCIsICZzdHVkZW50cyk7Cgl3aGlsZShzdHVkZW50cyA+IDApewoJCXVuc2lnbmVkIGxvbmcgbG9uZyBtb25leVN1bSA9IDA7CgoJCWZvcihpbnQgaSA9IDA7IGkgPCBzdHVkZW50czsgaSsrKXsKCQkJY2hhciBkdW1teTsKCQkJdW5zaWduZWQgbG9uZyBsb25nIGRvbGxhcjsKCQkJdW5zaWduZWQgbG9uZyBsb25nIGNlbnQ7CgkJCXNjYW5mKCIlbGx1JWMlbGx1IiwgJmRvbGxhciwgJmR1bW15LCAmY2VudCk7CgkJCXVuc2lnbmVkIGxvbmcgbG9uZyBjdXJNb25leTsKCQkJLy9wcmludGYoIiVmIiwgdGVtcCk7CgkJCWN1ck1vbmV5ID0gZG9sbGFyICogMTAwICsgY2VudDsKCQkJLy9wcmludGYoIiVsbHVcbiIsIGN1ck1vbmV5KTsKCQkJbW9uZXlbaV0gPSBjdXJNb25leTsKCQkJbW9uZXlTdW0gKz0gY3VyTW9uZXk7CgkJfQoKCQl1bnNpZ25lZCBsb25nIGxvbmcgYXZlcmFnZU1vbmV5ID0gbW9uZXlTdW0gLyBzdHVkZW50czsKCQl1bnNpZ25lZCBsb25nIGxvbmcgcGF5T25lTW9yZUNlbnRQZW9wbGUgPSBtb25leVN1bSAlIHN0dWRlbnRzOwoJCXVuc2lnbmVkIGxvbmcgbG9uZyBhbnN3ZXIgPSAwOwoKCQlxc29ydChtb25leSwgc3R1ZGVudHMsIHNpemVvZih1bnNpZ25lZCBsb25nIGxvbmcpLCBjbXBmdW5jKTsKCgkJZm9yKGludCBpID0gMDsgaSA8IHN0dWRlbnRzOyBpKyspewoJCQlpZihtb25leVtpXSA+IGF2ZXJhZ2VNb25leSl7CgkJCQlpZihwYXlPbmVNb3JlQ2VudFBlb3BsZSA+IDApewoJCQkJCWFuc3dlciArPSBtb25leVtpXSAtIGF2ZXJhZ2VNb25leSAtIDE7CgkJCQkJcGF5T25lTW9yZUNlbnRQZW9wbGUtLTsKCQkJCX1lbHNlewoJCQkJCWFuc3dlciArPSBtb25leVtpXSAtIGF2ZXJhZ2VNb25leTsKCQkJCX0KCQkJfWVsc2V7CgkJCQlicmVhazsKCQkJfQoJCX0KCgkJcHJpbnRmKCIkJWxsdS4lMDJsbHVcbiIsIGFuc3dlci8xMDAsIGFuc3dlciUxMDApOwoJCXNjYW5mKCIlZCIsICZzdHVkZW50cyk7Cgl9CgoJcmV0dXJuIDA7CS8vIOygleyDgeyiheujjCDsi5wg67CY65Oc7IucIDDsnYQg66as7YS07ZW07JW8IO2VqeuLiOuLpC4KfQoK