1557.cpp

来自「哈尔滨工业大学ACM 竞赛网上在线试题集锦的源代码」· C++ 代码 · 共 45 行

CPP
45
字号
/*  This Code is Submitted by wywcgs for Problem 1557 on 2005-12-09 at 19:44:15 */ 
#include <cstdio>

const int MAX = 1024;

inline int min(int, int);

int main()
{
	int n, money[MAX];
	int i;
	
	while(scanf("%d", &n) != EOF && n != 0) {
		int total = 0;
		for(i = 0; i < n; i++) {
			int a, b;
			scanf("%d.%d", &a, &b);
			money[i] = a * 100 + b;
			total += money[i];
		}
		int mod = total % n;
		int aver = total / n;
		int up = 0, change = 0;
		for(i = 0; i < n; i++) {
			if(money[i] > aver) {
				up++;
				change += money[i] - aver;
			}
		}
		change -= min(up, mod);
		printf("$%d.", change/100);
		if(change % 100 < 10) {
			putchar('0');
		}
		printf("%d\n", change%100);
	}
	
	return 0;
}

inline int min(int a, int b)
{
	return a < b ? a : b;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?