Cod sursa(job #2745462)

Utilizator redikusTiganus Alexandru redikus Data 26 aprilie 2021 16:14:00
Problema Heapuri Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#include <vector>
#include <unordered_map>
#include <queue>
using namespace std;
ifstream in("heapuri.in");
ofstream out("heapuri.out");
long long n, b, a;
unordered_map<int, int> m;
vector<int> v;
priority_queue<int> p;
int main(){

    in>>n;
    for(int i=0;i<n;++i){
        in>>a;
        if(a==1){
            in>>b;
            p.push(-b);
            v.push_back(b);
        }
        else if(a==2){
            in>>b;
            m[v[b-1]]++;
        }
        else{
            b=-p.top();
            while(m[b]!=0){
                m[b]--;
                p.pop();
                b=-p.top();
            }
            out<<-p.top()<<endl;
        }
    }
    return 0;
}