Cod sursa(job #554043)

Utilizator SadmannCornigeanu Calin Sadmann Data 14 martie 2011 15:42:25
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream>
#include<set>
using namespace std;
int op,x,cont=1;
int v[200001],N;
set< pair<int,int> > heap;

ifstream in("heapuri.in");
ofstream out("heapuri.out");

inline void verif()
{
    in>>op;
    if(op==3)
    {
        set< pair<int,int> >::iterator it=heap.begin();
        out<<it->first<<"\n";
        return;
    }
    in>>x;
    if(op==1)
    {
        heap.insert(make_pair(x,cont));
        v[cont++]=x;

        return;
    }
    if(op==2)
    {
        set< pair<int,int> >::iterator it=heap.find(make_pair(v[x],x));
        heap.erase(it);
    }
}

int main()
{
    in>>N;
    for(int i=1;i<=N;i++)
    {
        verif();
    }


    return 0;
}