[恢]hdu 2088

2011-12-20 03:35:04

地址:http://acm.hdu.edu.cn/showproblem.php?pid=2088

题意:有n堆砖头,分别有a[i]块砖。问至少要移动多少块,能让他们全都一样高。

mark:先求平均高度,然后逐个求差后,除以2。

代码:

# include <stdio.h>


int a[60] ;


int abs(int n){return n<0?-n:n;}
int main ()
{
int n, i, sum, ans, nCase = 1 ;
while (~scanf ("%d", &n) && n)
{
sum = 0 ;
for(i = 0 ; i < n ; i++)
{
scanf ("%d", &a[i]) ;
sum += a[i] ;
}
ans = 0 ;
for (i = 0 ; i < n ; i++)
ans += abs(a[i]-sum/n) ;
if (nCase++ != 1) printf ("\n") ;
printf ("%d\n", ans/2) ;
}
return 0 ;
}



posted @ 2012-01-06 22:39  Seraph2012  阅读(136)  评论(0编辑  收藏  举报