hdoj 3785 寻找大富翁
2015-08-18 15:39
411 查看
寻找大富翁
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)Total Submission(s) : 48 Accepted Submission(s) : 20
Problem Description
浙江桐乡乌镇共有n个人,请找出该镇上的前m个大富翁.
Input
输入包含多组测试用例. 每个用例首先包含2个整数n(0<n<=100000)和m(0<m<=10),其中: div="" n和m同时为0时表示输入结束.<="" 接下来一行输入镇上n个人的财富值.="" n为镇上的人数,m为需要找出的大富翁数,="">
Output
请输出乌镇前m个大富翁的财产数,财产多的排前面,如果大富翁不足m个,则全部输出,每组输出占一行.
Sample Input
3 1 2 5 -1 5 3 1 2 3 4 5 0 0
Sample Output
5 5 4 3
/* 优先队列,保持m的数量即可! */ #include<stdio.h> #include<queue> #include<algorithm> using namespace std; int b[100001]; int main() { int n,m; while(scanf("%d%d",&n,&m),n,m) { int a,i; priority_queue<int,vector<int>,greater<int> >q;//优先队列 ,从小到大 while(n--) { scanf("%d",&a); q.push(a); if(q.size()>m)//长度达到m时,弹出队首! { q.pop(); } } for(i=1;i<=m;i++) { b[i]=q.top(); q.pop() ; } for(i=m;i>=2;i--) { printf("%d ",b[i]); } printf("%d\n",b[1]); } }
相关文章推荐
- gcc 和 g++ 区别
- 006最小身高差
- DedeCMS基础使用(2):列表页常用标签
- System.Data.DbType的字符串和数据库中字符串类型对应关系
- Android笔记(十六) 简易计算器
- index seek与index scan
- POJ 1986 DIstance Query LCA水题
- HDOJ 2546 饭卡(01背包)
- Linux编辑器vim中删除行尾的^M 终于找到个能用的
- 当js传的参数包含&时
- RequireJS Optimizer 的使用和配置
- 《编译.java文件时的编码问题》更新版本
- 重写监管策略
- Linux下静态库_库的基本概念;如何生成静态库动态库;nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库相关的参数-L,-l,-f
- LeetCode(66)Plus One
- 函数调用堆栈图
- service使用以及startService,stopService,bindService,unbindService方法比较
- android shape.xml 属性详解
- Android Development Note-01
- ResourceManager启动和关闭时日志打印