TOJ 1601

简介: 1601.   Box of BricksTime Limit: 1.0 Seconds   Memory Limit: 65536KTotal Runs: 5007   Accepted Runs: 1950 Little Bob likes playing with his box of bricks.
1601.   Box of Bricks
Time Limit: 1.0 Seconds    Memory Limit: 65536K
Total Runs: 5007    Accepted Runs: 1950



Little Bob likes playing with his box of bricks. He puts the bricks one upon another and builds stacks of different height. "Look, I've built a wall!", he tells his older sister Alice. "Nah, you should make all stacks the same height. Then you would have a real wall.", she retorts. After a little consideration, Bob sees that she is right. So he sets out to rearrange the bricks, one by one, such that all stacks are the same height afterwards. But since Bob is lazy he wants to do this with the minimum number of bricks moved. Can you help?

Input

The input consists of several data sets. Each set begins with a line containing the number n of stacks Bob has built. The next line contains n numbers, the heights hi of the n stacks. You may assume 1 ≤ n ≤ 50 and 1 ≤ hi ≤ 100.

The total number of bricks will be divisible by the number of stacks. Thus, it is always possible to rearrange the bricks such that all stacks have the same height.

The input is terminated by a set starting with n = 0. This set should not be processed.


Output

For each set, first print the number of the set, as shown in the sample output. Then print the line "The minimum number of moves is k.", where k is the minimum number of bricks that have to be moved in order to make all the stacks the same height.

Output a blank line after each set.


Sample Input

6
5 2 4 1 7 5
0


Sample Output

Set #1
The minimum number of moves is 5.
//大于平均值的部分加和 ,简单题目,学习vector 
//AC
#include <iostream>
#include <cstdlib>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
    int i,j,k,T;
    int flag = 1;//必须开在while外,并且初始化0 
    while(cin>>T,T)
    {
        int sum = 0;
        vector <int > v;
        for(i=1;i<=T;i++)
        {
            int temp;
            cin>>temp;
            v.push_back(temp);
            sum += temp;
        }
        int aver = sum / v.size();
        int ans = 0;
        for(i=0;i<v.size();i++)
            if(v.at(i)>aver)
                ans += v.at(i) - aver;
        //if(flag>1)
            
        cout<<"Set #"<<flag<<endl;
        cout<<"The minimum number of moves is "<<ans<<"."<<endl;
        cout<<endl;
        flag++;
        v.clear();
    }
    //system("pause");
    return 0;
}
 
 
 //个人认为,应该
 #include <iostream>
#include <cstdlib>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
    int i,j,k,T;
    int flag = 1;//必须开在while外,并且初始化0 
    while(cin>>T,T)
    {
        int sum = 0;
        vector <int > v;
        for(i=1;i<=T;i++)
        {
            int temp;
            cin>>temp;
            v.push_back(temp);
            sum += temp;
        }
        int aver = sum / v.size();
        int ans = 0;
        for(i=0;i<v.size();i++)
            if(v.at(i)>aver)
                ans += v.at(i) - aver;
        if(flag>1)
            cout<<endl;  
        cout<<"Set #"<<flag<<endl;
        cout<<"The minimum number of moves is "<<ans<<"."<<endl;
        flag++;
        v.clear();
    }
    //system("pause");
    return 0;
}
            
            
        

 

目录
相关文章
uni-app 155朋友圈评论功能(二)
uni-app 155朋友圈评论功能(二)
191 0
|
Shell
Ubuntu20.04安装anaconda并默认激活conda base环境(步骤详细/操作简单实用)
Ubuntu20.04安装anaconda并默认激活conda base环境方法
19943 0
|
8月前
|
前端开发 Java Linux
一个简单项目部署带你认识OS Copilot
本文介绍了一个简单项目部署的过程,带你认识OS Copilot。通过阿里云的OS Copilot智能助手,简化了Linux系统下的项目部署流程。项目包括前端和后端两部分,利用OS Copilot实现了Nginx服务器安装、前端打包上传、Java环境配置、MySQL数据库安装等操作,并通过Copilot提供的命令快速入门和交互模式,提升了运维效率。完整过程展示了如何借助OS Copilot高效完成项目部署,适合初级程序员学习参考。[博客跳转链接](https://www.blog.ubanillx.cn/一个简单项目部署带你认识os-copilot/)。
167 1
|
10月前
|
存储 供应链 安全
构建防欺诈交易的坚固防线
构建防欺诈交易的坚固防线
|
11月前
|
监控 固态存储 Linux
Linux中性能问题
【10月更文挑战第6天】
80 3
Vue3的使用,ref定义基本类型的响应式数据,如何创建对象类型的响应式数据,let car = {brand: ‘奔驰‘,price: 100},{{car.brand}},reactive的使用
Vue3的使用,ref定义基本类型的响应式数据,如何创建对象类型的响应式数据,let car = {brand: ‘奔驰‘,price: 100},{{car.brand}},reactive的使用
|
机器学习/深度学习 人工智能 自然语言处理
AI深度学习实例
深度学习广泛应用在图像识别(如交通标志检测)、NLP(谷歌的GNMT翻译系统)、视频监控(行人检测)、医疗诊断(肺部结节检测)、语音识别(智能助手)、推荐系统(电商个性化推荐)、内容生成(GAN图像创建)、游戏AI(AlphaGo)及物体分类(水果品质评估),深刻影响各行各业。
207 3
|
算法 Java
判断回文串(hdu 2029)双指针法
题目来自 hdu 杭州电子科技大学的一个算法网站