优先队列,保证元素数量

#include <iostream>
#include <queue>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    priority_queue<int> q;
    int n,m,k,i,op,x;
    cin>>n>>m>>k;
    for(i=1;i<=n;++i)
    {
        cin>>x;
        q.emplace(x);
        if(q.size()>k)
            q.pop();
    }
    while(m--)
    {
        cin>>op;
        if(op==1)
        {
            cin>>x;
            q.emplace(x);
            if(q.size()>k)
                q.pop();
        }
        else
        {
            if(q.size()==k)
                cout<<q.top()<<'\n';
            else
                cout<<"-1\n";
        }
    }
    return 0;
}
// 64 位输出请用 printf("%lld")