//采用优先队列,底层原理是大根堆
#include "stdio.h"
#include "queue"
using namespace std;
int main(){
int n,m;//n为镇上人数,m为要找的大富翁数
priority_queue<int> myPQueue;
int temp;
while(scanf("%d%d",&n,&m) != EOF){
if(n==0 && m==0)
break;
for(int i=0; i<n; ++i){
scanf("%d",&temp);
myPQueue.push(temp);
}
if(n >= m){
for(int i=0; i<m; ++i){
printf("%d ",myPQueue.top());
myPQueue.pop();
}
}else{
for(int i=0; i<n; ++i){
printf("%d ",myPQueue.top());
myPQueue.pop();
}
}
printf("\n");
}
}

京公网安备 11010502036488号