Cod sursa(job #1891701)

Utilizator vlasiuflaviusVlasiu Flavius vlasiuflavius Data 24 februarie 2017 11:35:41
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
///FLAVIUS, UBESTE-MA
#include <fstream>
#include <vector>
#include <queue>

using namespace std;


ifstream fin( "heapuri.in" );
ofstream fout("heapuri.out");
int v[ 200010 ],i,j,n,m,x,y;
priority_queue < pair<int,int> > pq;

int main()
{
    fin>>n;
    for( i = 1 ; i <= n ; i++ )
    {
        fin>>x;
        if( x == 1 )
        {
            fin>>x;
            ++y;
            pq.push( {-x,y} );
        }
        else if( x == 2 )
        {
            fin>>x;
            v[ x ] = 1;
        }
        else
        {
            while( v[ pq.top().second ] == 1 )
                pq.pop();
            fout<<-pq.top().first<<'\n';
        }

    }

    return 0;
}