杭电 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;

	}

}

  

你可能感兴趣的:(杭电)