Cod sursa(job #3325092)

Utilizator marap2011Paun Mara marap2011 Data 24 noiembrie 2025 18:29:07
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <bits/stdc++.h>
#define pii pair <int,int>
using namespace std;
ifstream fin ("heapuri.in");
ofstream fout ("heapuri.out");
priority_queue < pii ,vector < pii > , greater < pii > > pq ;
bool sel[200001] ;
int n , i , q , x , cnt ;
int main ()
{
    fin >> n ;
    for ( i = 1 ; i <= n ; i ++ )
    {
        fin >> q ;
        if ( q == 3 )
        {
            while ( ! pq.empty() && sel[pq.top().second] == true )
                pq.pop() ;
            fout << pq.top().first << '\n' ;
        }
        else
        {
            fin >> x ;
            if ( q == 1 )
            {
                cnt ++ ;
                pq.push( make_pair ( x , cnt ) ) ;
                sel[cnt] = false ;
            }
            else
                sel[x] = true ;
        }
    }

    return 0 ;
}