Cod sursa(job #2746895)

Utilizator truscalucaLuca Trusca truscaluca Data 28 aprilie 2021 17:41:18
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <set>
#include <vector>

using namespace std;

set<int> heap;
vector<int> poz;
int n, cod, x;

int main() {
    freopen("heapuri.in", "r", stdin);
    freopen("heapuri.out", "w", stdout);

    // Input rapid
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    // Citeste datele
    cin >> n;

    for (int i = 0; i < n; i++) {
        cin >> cod;

        if (cod == 1) {
            // Cod 1 = citeste numar
            cin >> x;
            heap.insert(x);
            poz.push_back(x);
        } else if (cod == 2) {
            // Cod 2 = sterge al x-lea numar
            cin >> x;
            heap.erase(poz[x - 1]);
        } else if (cod == 3) {
            // Cod 3 = afiseaza minimul tuturor numerelor ramase
            cout << *(heap.begin()) << "\n";
        }
    }

    return 0;
}