Cod sursa(job #810843)
Utilizator | Data | 11 noiembrie 2012 08:18:03 | |
---|---|---|---|
Problema | Heapuri | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <cstdio>
#include <set>
using namespace std;
int A[200002];
int main() {
freopen("heapuri.in", "r", stdin);
freopen("heapuri.out", "w", stdout);
int n, t, x;
scanf("%d", &n);
multiset<int> data;
for (int i = 1, c = 1; i <= n; i++) {
scanf("%d", &t);
if (t == 1) {
scanf("%d", &x);
A[c++] = x;
data.insert(x);
}
if (t == 2) {
scanf("%d", &x);
data.erase(data.find(A[x]));
}
if (t == 3) {
printf("%d\n", *data.begin());
}
}
return 0;
}