Cod sursa(job #640650)
| Utilizator | Data | 26 noiembrie 2011 11:30:07 | |
|---|---|---|---|
| Problema | Heapuri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <stdio.h>
#include <set>
using namespace std;
long i, n, t, v, e, dex[200010];
multiset <long> ms;
int main() {
freopen("heapuri.in", "r", stdin);
freopen("heapuri.out", "w", stdout);
scanf("%ld", &n);
for (i = 1; i <= n; ++i) {
scanf("%ld", &t);
if (t == 1) {
scanf("%ld", &v);
ms.insert(v);
++e;
dex[e] = v;
}
if (t == 2) {
scanf("%ld", &v);
ms.erase(ms.find(dex[v]));
}
if (t == 3) {
printf("%ld\n", *ms.begin());
}
}
return 0;
}
