优先队列,保证元素数量 。
#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")

京公网安备 11010502036488号