Pagini recente » Cod sursa (job #2896201) | Cod sursa (job #3148425) | Cod sursa (job #1477855) | Cod sursa (job #2657394) | Cod sursa (job #2896007)
#include <iostream>
#include <fstream>
#include <set>
//#include <vector>
// 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;
int n, i, op, x, index;
// tare ciudata platforma...
int main()
{
std::ifstream input("heapuri.in");
std::ofstream output("heapuri.out");
//ocup pozitia 0 din vector fiindca nu am nevoie de ea la optiuni
input >> n;
int ordine[n];
// ordine.push_back(-10);
for (i = 0; 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;
}