Cod sursa(job #3132274)

Utilizator culiteramicacristiana culiteramica Data 22 mai 2023 01:29:32
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.05 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <set>

using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
int n, tip, x, value;
vector<int> heap;
set<int> s;
int main() {

    fin >> n;
    for (int i = 0; i < n; i++) {
        fin >>  tip;

        if (tip == 1) {
            fin >> value;
            heap.push_back(value);
            s.insert(value);
        }
        else if (tip == 2) {
            fin >> x;  // al x-lea element inserat pe care il stergem
            int index = x - 1;
            if (index >= 0 && index < heap.size()) {
                int deletedValue = heap[index];  // luam valoarea din heap
                auto it = s.find(deletedValue);  //o cautam in set
                if (it != s.end()) {
                    s.erase(it);
                }
            }
        }
        else if (tip == 3) {
            if (!s.empty()) {
                fout << *s.begin() << endl;
            }
        }
    }

    fin.close();
    fout.close();
    return 0;
}