HDOJ-3785 寻找大富翁(优先队列)
2013-06-29 20:47
796 查看
寻找大富翁
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2248 Accepted Submission(s): 1081
[align=left]Problem Description[/align]
浙江桐乡乌镇共有n个人,请找出该镇上的前m个大富翁.
[align=left]Input[/align]
输入包含多组测试用例.
每个用例首先包含2个整数n(0<n<=100000)和m(0<m<=10),其中: n为镇上的人数,m为需要找出的大富翁数, 接下来一行输入镇上n个人的财富值.
n和m同时为0时表示输入结束.
[align=left]Output[/align]
请输出乌镇前m个大富翁的财产数,财产多的排前面,如果大富翁不足m个,则全部输出,每组输出占一行.
[align=left]Sample Input[/align]
3 1 2 5 -1 5 3 1 2 3 4 5 0 0
[align=left]Sample Output[/align]
5 5 4 3
[align=left]Source[/align]
浙大计算机研究生复试上机考试-2009年
#include <cstdio> #include <iostream> #include <cstring> #include <algorithm> #include <queue> using namespace std; void search(int n, int m) { priority_queue <int> q; // 默认就是从大到小排序的 int t; for(int i = 0; i < n; ++i) { scanf("%d", &t); q.push(t); } m = m > n ? n : m; for(int i = 0; i < m-1; ++i) { printf("%d ", q.top()); q.pop(); } printf("%d\n", q.top()); } int main() { int n, m; while(scanf("%d%d", &n, &m), m||n) { search(n, m); } return 0; }
相关文章推荐
- hdoj 3785 寻找大富翁【优先队列+sort排序】
- hdoj 3785 寻找大富翁(优先队列)
- hdoj 3785 寻找大富翁
- hdoj 3785 寻找大富翁
- HD 3785 寻找大富翁(应用sort和优先队列)
- HDU-#3785 寻找大富翁(优先队列)
- hdoj 3785 寻找大富翁 【水题】【优先队列 or sort】
- HDU 3785 寻找大富翁
- 【hdu 3785】寻找大富翁
- HDU 3785 寻找大富翁 (排序)
- G - 寻找大富翁 HDU 3785(对和比大小)
- HDU3785 寻找大富翁 优先队列
- 【HDU 3785】寻找大富翁(sort或者优先队列-水题)
- HDU 3785-寻找大富翁
- 杭电3785寻找大富翁
- hdu杭电3785 寻找大富翁【优先队列】
- HDOJ 3785 寻找大富翁
- 3785 寻找大富翁
- hdu_3785 寻找大富翁
- 杭电 3785 寻找大富翁