Pagini recente » Cod sursa (job #14346) | Cod sursa (job #1148312) | Cod sursa (job #2919760) | Cod sursa (job #2688506) | Cod sursa (job #903861)
Cod sursa(job #903861)
#include <cstdio>
#include <set>
using namespace std;
#define Nmax 200001
multiset <int> Heap;
int poz[Nmax];
int N, op, a;
void adauga(int x){
Heap.insert(x);
poz[ ++poz[0] ] = x;
}
void sterge(int x){
Heap.erase(poz[x]);
}
void minim(){
multiset <int> :: iterator it = Heap.begin();
printf("%d\n", *it);
}
void rezolva(){
freopen("heapuri.in", "r", stdin);
freopen("heapuri.out", "wt", stdout);
scanf("%d", &N);
for(; N; N--){
scanf("%d", &op);
switch(op){
case 1:
scanf("%d", &a);
adauga(a);
break;
case 2:
scanf("%d", &a);
sterge(a);
break;
case 3:
minim();
default: break;
}
}
}
int main(){
rezolva();
return 0;
}