Cod sursa(job #1360806)

Utilizator vladvaldezVlad Dimulescu vladvaldez Data 25 februarie 2015 18:01:51
Problema Heapuri Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#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;
}