POJ 1477
来源:互联网 发布:python中的不可变类型 编辑:程序博客网 时间:2024/06/08 19:37
Box of Bricks
Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 22690 Accepted: 8926
Description
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 con- sideration, 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.
Source
Southwestern European Regional Contest 1997
#include<iostream>#include<math.h>#include<cstring>#include<algorithm>#include<set>#include<map>#include<queue>#include<cstdio>#include<vector>const int INF=0x7fffffff;using namespace std;const int maxn=50;int n;int a[maxn];int main(){ int case1=0; while(cin>>n&&n) { int sum=0; for(int i=0;i<n;i++) { cin>>a[i]; sum+=a[i]; } sum/=n; int Ans=0; for(int i=0;i<n;i++) { if(a[i]>sum) Ans+=a[i]-sum; } cout<<"Set #"<<++case1<<endl; cout<<"The minimum number of moves is "<<Ans<<"."<<endl; cout<<endl; } return 0;}
- poj 1477
- POJ-1477
- POJ 1477
- POJ 1477 还是水!
- POJ 1477(贪心)
- POJ 1477 ( 贪心 )
- POJ 1477 解题报告
- POJ
- poj
- POJ
- POJ
- poj
- poj
- POJ
- POJ
- poj
- POJ
- POJ
- qt编译加速
- 2017上半年技术文章集合—184篇文章分类汇总
- HDU 6195 cable cable cable (找规律) 2017ACM沈阳赛区网络赛
- 抽奖点名
- [新手编程训练项目]004——C语言文件夹文件信息输出001:io库中_finddata_t结构体的使用
- POJ 1477
- 模电学习八大概念,工程师必看
- 作用域之LHS与RHS查询
- Python多进程任务处理之multiprocessing
- 二、操作系统用户界面
- 输入框选择课程
- Python 手记(二):装饰器
- Linux平台 Oracle 12cR2 RAC安装Part2:GI配置
- Effective C++ 笔记(1):视C++为语言联邦