virtual hust 2013.6.23 数学杂题基础题目 F

题目:Box of Bricks

思路:水题。。。这个和挑战编程上那题一样,求最小移动啥啥的,所以只需要判断比均值大的和比均值小的部分,求最大值即可

#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
int num[55];
int main()
{
    int n;
    int t=0;
    while(scanf("%d",&n),n)
    {
        int sum=0;
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&num[i]);
            sum+=num[i];
        }
        sum/=n;
        printf("Set #%d
",++t);
        int tmp=0,cnt=0;
        for(int i=1;i<=n;i++)
        {
            if(num[i]>sum)
                tmp+=num[i]-sum;
            else
                cnt+=sum-num[i];
        }
        printf("The minimum number of moves is %d.

",max(tmp,cnt));
    }
    return 0;
}
View Code
原文地址:https://www.cnblogs.com/overflow/p/3150636.html