用堆写的,40pts警示后人
查看原帖
用堆写的,40pts警示后人
808714
the_three_body楼主2024/9/6 11:14

代码:

#include<bits/stdc++.h>
using namespace std;

int main(){
    int n, k;
    scanf("%d%d",&n,&k);

    int a[n+4];
    for(int i = 0; i < n; i++){
        scanf("%d",&a[i]);
    }

    priority_queue<int> pq;
    for(int i : a){
        if(pq.size()<k+1){
            pq.push(i);
        } else if(i<pq.top()){
            pq.pop();
            pq.push(i);
        }
    }
    cout << pq.top();
    return 0;
}

注意:for(int i:a) 是遍历所有元素,包括未定义的

2024/9/6 11:14
加载中...