题解 | #寻找大富翁#
寻找大富翁
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"); } }