题目保证有解,先求砖块数的平均数。
再把多的部分移到缺的地方,答案就是多的部分的和。
#include<cstdio> int n,ans,sum,cas=1,avg,i,h[55]; int main() { while(~scanf("%d",&n)&&n) { sum=ans=0; for(i=0;i<n;i++) scanf("%d",&h[i]),sum+=h[i]; avg=sum/n; for(i=0;i<n;i++) if(h[i]>avg) ans+=h[i]-avg; printf("Set #%d\nThe minimum number of moves is %d.\n\n",cas++,ans); } return 0; }
原文:http://blog.csdn.net/u011032846/article/details/45442105