Cod sursa(job #3151913)

Utilizator not_anduAndu Scheusan not_andu Data 23 septembrie 2023 08:44:37
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.01 kb
/**
 * Author: Andu Scheusan (not_andu)
 * Created: 22.09.2023 23:01:04
*/

#include <bits/stdc++.h>
#include <unordered_map>
#pragma GCC optimize("O3")

using namespace std;

#define INFILE "heapuri.in"
#define OUTFILE "heapuri.out"

#define all(x) (x).begin(), (x).end()

typedef long long ll;

int queries, tip, valoare, cnt = 0;
unordered_map<int, int> harta;
multiset<int> heap;

void solve(){

    cin >> queries;

    for(int i = 0; i < queries; ++i){

        cin >> tip;

        if(tip == 1){

            cin >> valoare;

            ++cnt;

            harta[cnt] = valoare;

            heap.insert(valoare);

        }
        else if(tip == 2){

            cin >> valoare;

            heap.erase(heap.find(harta[valoare]));

        }
        else{

            cout << *(heap.begin()) << '\n';

        }

    }

}

int main(){
    
    ios_base::sync_with_stdio(false);

    freopen(INFILE, "r", stdin);
    freopen(OUTFILE, "w", stdout);

    cin.tie(nullptr);
    cout.tie(nullptr);

    solve();

    return 0;
}