Cod sursa(job #2637458)
| Utilizator | Data | 23 iulie 2020 09:52:03 | |
|---|---|---|---|
| Problema | Heapuri | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <fstream>
#include <iostream>
#include <set>
#include <vector>
using namespace std;
ifstream in("heapuri.in");
ofstream out("heapuri.out");
const int NMAX = 200005;
set<int> heap;
vector<int> order(1, -1);
int main()
{
int n, caz;
in >> n;
for (int i = 0; i < n; i++)
{
in >> caz;
if (caz == 1)
{
int x; in >> x;
heap.insert(x);
order.push_back(x);
}
else if (caz == 2)
{
int nth; in >> nth;
heap.erase(order[nth]);
}
else
out << *heap.begin() << '\n';
}
}