Pagini recente » Cod sursa (job #1527708) | Cod sursa (job #1959718) | Cod sursa (job #2550551) | Cod sursa (job #1772573) | Cod sursa (job #2640629)
#include <bits/stdc++.h>
using namespace std;
ifstream in("heapuri.in");
ofstream out("heapuri.out");
int v[200001],viz[200001];
int len=0;
priority_queue<int,vector<int>,greater<int> >q;
void show()
{
priority_queue<int,vector<int>,greater<int> >q1=q;
while(!q1.empty())
{
cout<<q1.top()<<" ";
q1.pop();
}
}
void clear()
{
while(!q.empty())
q.pop();
}
int main()
{
int n;
in>>n;
for(int i=1;i<=n;i++)
{
int cod,x;
in>>cod;
if(cod==1||cod==2)
{
in>>x;
}
if(cod==1)
{
v[++len]=x;
q.push(x);
}
else if(cod==2)
{
// clear();
// for(int i=1;i<=len;i++)
// if(i!=x&&viz[i]==0) q.push(v[i]);
viz[v[x]]=1;
}
else if(cod==3)
{
while(viz[q.top()]==1) q.pop();
out<<q.top()<<"\n";
}
// show();
// cout<<endl;
}
return 0;
}