Cod sursa(job #3350221)

Utilizator BaraianTudorBaraian Tudor Stefan BaraianTudor Data 6 aprilie 2026 13:55:34
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <iostream>
#include <queue>
#include <fstream>
#include <map>
#include <cstring>
#include <stack>
#define N_MAX 200005
#define MOD 666013
using namespace std;
ifstream in("heapuri.in");
ofstream out("heapuri.out");
int n;
priority_queue<int, vector<int>, greater<int>>pq;
map<int, int> m;
int a[N_MAX];

int main()
{
    in >> n;
    int op, el;
    for (int i = 0; i < n; i++) {
        in >> op;
        if (op == 3) {
            while (m[pq.top()] == 0) {
                pq.pop();
            }
            out << pq.top()<<'\n';
            continue;
        }
        in >> el;
        if (op == 1) {
            pq.push(el);
            a[++a[0]] = el;
            if (m.find(el) != m.end()) {
                m[el]++;
            }
            else m[el] = 1;
            continue;
        }
        el = a[el];
        m[el]--;
    }
    return 0;
}