Cod sursa(job #2896019)

Utilizator AncaGAncuta Gava AncaG Data 29 aprilie 2022 18:59:55
Problema Heapuri Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.37 kb

#include <iostream>
#include <fstream>
#include <set>
//#include <vector>


std::ifstream input("heapuri.in");
std::ofstream output("heapuri.out");

// tare ciudata platforma...
int main()
{
// am nevoie de un set mai degraba decat un vector fiindca am unicitate si sortarea elem cresc :)
// are sens unicitatea aici pt ca afisez minimul si atunci nu voi face multiset ci sset
    std::set<int> sweet_heap;
// am nevoie de un vector in care sa retin elem inserat
// ordinea o preia prin index
//std::vector<int> ordine;
    unsigned int n, i=0, op, x, index=0;

    //ocup pozitia 0 din vector fiindca nu am nevoie  de ea la optiuni
    input >> n;
   unsigned int ordine[n];
//    ordine.push_back(-10);

    for (;i<n; ++i) {
        input >> op;

        if (op == 3) {
            // set.begin() imi ia cel mai mic elem
            output << *sweet_heap.begin() << std::endl;
        }

        else {
            if (op == 1){
                input >> x;
                ++index;
                ordine[index]=x;
                sweet_heap.insert(x);
//                ordine.push_back(x);

            }
            // pt optiunea 2 am stergerea al x-lea elem
            else {
                input >> x;
                sweet_heap.erase(ordine[x]);
            }
        }
    }
//    input.close();
//    output.close();
    return 0;
}