Pagini recente » Cod sursa (job #2341212) | Cod sursa (job #95709) | Cod sursa (job #696417) | Cod sursa (job #410755) | Cod sursa (job #1789287)
#include <stdio.h>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(int &a, int&b){
return (a>b);
}
int main()
{
bool sters[1000001]={0};
int o[200001]={0};
vector <int> v;
int i, j, n, cr, nr, lg=0;
freopen ("heapuri.in", "r", stdin);
freopen ("heapuri.out", "w", stdout);
scanf("%d ", &n);
for(i=1;i<=n;i++){
scanf("%d", &cr);
if(cr==1){
scanf("%d", &nr);
o[++lg]=nr;
v.push_back(nr);
push_heap(v.begin(), v.end(), cmp);
}
if(cr==2){
scanf("%d", &nr);
sters[o[nr]]=true;
}
if(cr==3){
while(sters[v.front()]==true){
pop_heap(v.begin(),v.end(),cmp);
v.pop_back();
}
printf("%d\n", v.front());
}
}
}