Cod sursa(job #1123665)

Utilizator RadEmanuelRad Emanuel RadEmanuel Data 26 februarie 2014 09:33:31
Problema Heapuri Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include<fstream>
#include<queue>
#define dmax 500000000
using namespace std;

ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
priority_queue< int,vector<int>,greater<int> > q;
int v[dmax],viz[dmax],i,type,x,poz,n;
int main()
{
    fin>>n;
    for(i=1;i<=n;++i)
    {
        fin>>type;
        switch(type)
        {
        case 1:
            fin>>x;
            q.push(x);
            v[++poz]=x;
            viz[x]=1;
            continue;
        case 2:
            fin>>x;
            viz[v[x]]=0;
            continue;
        case 3:
            while(!viz[q.top()])
                q.pop();
            fout<<q.top()<<'\n';
            continue;
        }
    }
    return 0;
}