Cod sursa(job #3163600)

Utilizator elisa.ipateElisa Ipate elisa.ipate Data 31 octombrie 2023 17:52:46
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>

#include <queue>
#include <vector>


#define nmax 200000

using namespace std;

priority_queue <int, vector<int>, greater<int> > pq, pqelim;

int v[nmax];
int main()
{
    int n, i, t, x, nrv = 0;
    ifstream cin("heapuri.in");
    ofstream cout("heapuri.out");
    cin >> n;
    for( i = 0; i < n; i++ ) {
        cin >> t;
        if( t == 1 ) {
            cin >> v[++nrv];
            pq.push( v[nrv] );
        } else if( t == 2 ) {
            cin >> x;
            pqelim.push(v[x]);
        } else {
            while( pqelim.size() > 0 && pqelim.top() == pq.top() ) {
                pqelim.pop();
                pq.pop();
            }
            cout << pq.top() << "\n";
        }
    }

    return 0;
}