PTA 7-19(排序) 寻找大富翁(25 分) 25分代码

时间:2022-02-27 22:09:40

优先队列自动排序


优先队列是堆,复杂度 期望是  O(nlgn)


#include<iostream>
#include<cstdio>
#include<algorithm>
#include<queue>

using namespace std;
int n, m;
priority_queue<int, vector<int>, less<int> > qu;

void init() {
scanf("%d %d", &n, &m);
int x;
for(int i = 0; i < n; ++i) {
scanf("%d", &x);
qu.push(x);
}
}

void solve() {
for(int i = 1; i < m; ++i) {
int t = qu.top(); qu.pop();
if(qu.empty()) { printf("%d\n", t); return ;}
printf("%d ", t);
}
int t = qu.top(); qu.pop();
printf("%d\n", t);
}

int main() {
init();
solve();
return 0;
}