Cod sursa(job #1959251)

Utilizator vlasiuflaviusVlasiu Flavius vlasiuflavius Data 9 aprilie 2017 11:39:46
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <queue>
using namespace std;
ofstream fout ("heapuri.out");
ifstream fin ("heapuri.in");
int n,i,a,b,contor;
int v[200005];
priority_queue < pair < int , unsigned int > > q;
int main()
{
    fin>>n;
    for( i = 1 ; i <= n ; i++ )
    {
        fin>>a;
        if( a == 1 )
        {
            fin>>b;
            contor++;
            q.push( make_pair( -b , contor ) );
        }
        if( a == 2 )
        {
            fin>>b;
            v[ b ] = 1;
        }
        if( a == 3 )
        {
            while( v[ q.top().second ] == 1 )
                q.pop();
            fout<<q.top().first * ( -1 )<<'\n';
        }
    }
}