Cod sursa(job #539451)
Utilizator | Ciucanu Codrin codrut94 | Data | 22 februarie 2011 22:39:13 |
---|---|---|---|
Problema | Heapuri | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <cstdio>
#include <set>
using namespace std;
int poz[200100], L,i,N, tip, x;
set <int> S;
int main ()
{ freopen("heapuri.in","rt",stdin); freopen("heapuri.out","wt",stdout);
scanf("%d",&N);
for(i=N; i>0; --i)
{ scanf("%d", &tip);
if(tip<3) scanf("%d",&x);
if(tip==1) { S.insert(x); poz[++L]=x; }
else if(tip==2) {S.erase(S.find(poz[x]));}
else printf("%d\n",*S.begin());}return 0;}