Pagini recente » Cod sursa (job #274594) | Cod sursa (job #1118790) | Cod sursa (job #2788126) | Cod sursa (job #1584110) | Cod sursa (job #1148360)
#include <cstdio>
#include <iostream>
#include <queue>
#define maxn 200700
using namespace std;
priority_queue<pair<int, int>, vector<pair<int, int> >, greater<pair<int, int> > > heap;
int n, k;
bool del[maxn];
int main()
{
freopen("heapuri.in","r",stdin);
freopen("heapuri.out","w",stdout);
int x, op;
k = 0;
scanf("%d",&n);
for(int i=1;i<=n;++i){
scanf("%d",&op);
if(op == 1)
{
scanf("%d",&x);
heap.push(make_pair(x, ++k));
}
else if(op == 2)
{
scanf("%d",&x);
del[x] = true;
}
else
{
while(del[heap.top().second])
heap.pop();
printf("%d\n",heap.top().first);
}
}
}