Cod sursa(job #3163599)

Utilizator adelina_15InfoAdelina Radoi adelina_15Info Data 31 octombrie 2023 17:52:36
Problema Heapuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.93 kb
#include <iostream>
#include <fstream>
#include <queue>
#include <vector>

using namespace std;

priority_queue<int, vector<int>, greater<int> > num;
priority_queue<int, vector<int>, greater<int> > minim;

ifstream fin("heapuri.in");
ofstream fout("heapuri.out");

vector<int> poz;

int main()
{
    int n;
    fin >> n;
    poz.resize(n);
    int n1 = 1;
    for(int i = 0; i < n; i++)
    {
        int cer, x;
        fin >> cer;
        if(cer == 1)
        {
            fin >> x;
            num.push(x);
            poz[n1++] = x;
        }
        else if(cer == 2)
        {
            fin >> x;
            minim.push(poz[x]);
        }
        else
        {
            while(!num.empty() && !minim.empty() && num.top() == minim.top())
            {
                num.pop();
                minim.pop();
            }
            cout << num.top() << "\n";
        }
    }
    return 0;
}