Cod sursa(job #2681205)
Utilizator | Data | 5 decembrie 2020 09:53:00 | |
---|---|---|---|
Problema | Heapuri | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include <iostream>
#include <fstream>
#include <set>
#include <vector>
using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");
int n,x,op,v[200001],k;
set <int> h; // min-heap
// set <int, greater<int> > h; // max-heap
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>op;
if(op==1)
{
fin>>x;
h.insert(x);
v[++k]=x;
}
else if(op==2)
{
fin>>x;
h.erase(v[x]);
}
else if(op==3)
{
fout<<*h.begin()<<'\n';
}
}
}