杭电 2088 Box of Bricks

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2088

解题思路:一堆高度不同的砖块,需要把它们砌成一堵墙,即每一堆砖的高度相同(即砖的总数除以砖的堆数,即砖的平均值),然后砖的数目比平均数大的需要搬砖给砖的数目比平均数少的,最后把它们加起来就可以了。

反思:PE了两次,因为题目中说的是每一组测试数据之间要空一行,读题要仔细。

#include<stdio.h>
int main()
{
	int n,a[60];
	int i,flag=0;
	while(scanf("%d",&n)!=EOF&&n)
	{
		if(flag)
			printf("\n");
		int sum=0,ave=0,num=0;
		for(i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
			sum+=a[i];
		}
		ave=sum/n;
		for(i=0;i<n;i++)
		{
			if(a[i]>ave)
			{
				num+=a[i]-ave;
			}

		}
		printf("%d\n",num);
		flag=1;
	}
}

  

posted @ 2014-11-11 19:33  sequenceaa  阅读(327)  评论(0编辑  收藏  举报