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

优先队列自动排序


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


#include
#include
#include
#include

using namespace std;
int n, m;
priority_queue, less > 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;
}

 

你可能感兴趣的:(PTA)