Cod sursa(job #3301378)

Utilizator Victor5539Tanase Victor Victor5539 Data 25 iunie 2025 15:00:59
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <queue>
#include <vector>

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

int n,type,x;
priority_queue <int, vector<int>, greater<int>> pq;
unordered_map <int,int> f;
vector <int> v;
int main()
{
    fin>>n;
    while (n--)
    {
        fin>>type;
        if (type==1)
        {
            fin>>x;
            pq.push(x);
            v.push_back(x);
        }
        else
        if (type==2)
        {
            fin>>x;
            f[v[x-1]]++;
        }
        else
        {
            while (!pq.empty() && f[pq.top()]>0)
            {
                f[pq.top()]--;
                pq.pop();
            }

            if (!pq.empty())
                fout<<pq.top()<<"\n";
        }
    }
    return 0;
}