题解 | #寻找大富翁#
寻找大富翁
https://www.nowcoder.com/practice/38131e23663746a992581d45f16e7a86
//采用优先队列,底层原理是大根堆
#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");
}
}
查看4道真题和解析
