题目描述
浙江桐乡乌镇共有n个人,请找出该镇上的前m个大富翁.
输入描述:
输入包含多组测试用例.
每个用例首先包含2个整数n(0
#include <iostream>
#include <queue>
using namespace std;
int N, M;
int data;
struct cmp{
bool operator ()(int a ,int b){
return a<b;
}
};
priority_queue<int,vector<int> ,cmp> q;
int main()
{
while(cin>>N>>M){
if(N == 0 && M == 0){
break;
}
while(!q.empty()){
q.pop();
}
for(int i = 0 ; i < N ; i++){
cin>>data;
q.push(data);
}
cout<<q.top();
q.pop();
if(q.size() >= M-1){
for(int i = 1 ; i < M ; i++){
cout<<" "<<q.top();
q.pop();
}
}else{
while(!q.empty()){
cout<<" "<<q.top();
q.pop();
}
}
cout<<endl;
}
return 0;
}