Cod sursa(job #3163586)

Utilizator ana_valeriaAna Valeria Duguleanu ana_valeria Data 31 octombrie 2023 17:39:07
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <fstream>
#include <queue>
#define MAX 200000
using namespace std;
ifstream cin ("heapuri.in");
ofstream cout ("heapuri.out");
priority_queue <int, vector <int>, greater <int>> pqMin, pqElim;
int pos[MAX + 10];
int main()
{
    int n, added = 0;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        int type;
        cin >> type;
        if (type == 3)
        {
            while (!pqElim.empty() && pqMin.top() == pqElim.top())
            {
                pqMin.pop();
                pqElim.pop();
            }
            cout << pqMin.top() << '\n';
        }
        else
        {
            int val;
            cin >> val;
            if (type == 1)
            {
                pqMin.push(val);
                added++;
                pos[added] = val;
            }
            else
                pqElim.push(pos[val]);
        }
    }
    return 0;
}