Pagini recente » Cod sursa (job #725787) | Cod sursa (job #1814315) | Cod sursa (job #310523) | Cod sursa (job #109485) | Cod sursa (job #1360806)
#include <stdio.h>
#include <vector>
#include <functional>
#include <algorithm>
using namespace std;
vector <int> v;
int n,y,i,x,a[200005],nr;
int main()
{
freopen("heapuri.in","r",stdin);
freopen("heapuri.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&y);
if (y==1){
scanf("%d",&x);
v.push_back(x);
push_heap(v.begin(),v.end(),greater<int>());
a[++nr]=x;
}
else if (y==2){
scanf("%d",&x);
v.erase(find(v.begin(),v.end(),a[x]));
make_heap(v.begin(),v.end(),greater<int>());
}
else printf("%d\n",v.front());
}
return 0;
}