Pagini recente » Cod sursa (job #178305) | Cod sursa (job #1422397) | Cod sursa (job #1440947) | Cod sursa (job #2087135) | Cod sursa (job #1322305)
#include<stdio.h>
#include<queue>
#include<vector>
#define INF 200005
using namespace std;
struct elem
{
int v,poz;
};
class cmp
{
public: bool operator()(elem e1,elem e2)
{
return e1.v>e2.v;
}
};
bool check[INF];
priority_queue<elem,vector<elem>,cmp> Q;
int n;
int main()
{
freopen("heapuri.in","r",stdin);
freopen("heapuri.out","w",stdout);
scanf("%d",&n);
int nr=0;
for(int i=0;i<n;++i)
{
int c,a;
scanf("%d",&c);
if(c==1){elem e;scanf("%d",&e.v);e.poz=++nr;Q.push(e);}
else if(c==2){scanf("%d",&a);check[a]=1;}
else
{
while(Q.size()>0&&check[Q.top().poz])Q.pop();
printf("%d\n",Q.top().v);
}
}
return 0;
}