Cod sursa(job #467983)
| Utilizator | Data | 1 iulie 2010 19:15:41 | |
|---|---|---|---|
| Problema | Heapuri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.62 kb |
#include <fstream>
#include <set>
using namespace std;
multiset<int> heap;
multiset <int> :: iterator it;
ifstream in("heapuri.in");
ofstream out("heapuri.out");
int main()
{
int N,v,f;
in>>N;
int poz[150000];
int sf = 0;
while(N--)
{
in>>f;
if(f==1)
{
in>>v;
heap.insert(v);
poz[++sf]=v;
}
if(f==2)
{
in>>v;
heap.erase(poz[v]);
}
if(f==3)
{
it = heap.begin();
out<<*it<<'\n';
}
}
return 0;
}
