Cod sursa(job #951653)
| Utilizator | Data | 21 mai 2013 11:38:36 | |
|---|---|---|---|
| Problema | Heapuri | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include<cstdio>
#include<set>
using namespace std;
int n,x,i,k,tip,v[200001];
set<int>a;
void adauga()
{
scanf("%d",&x);
k++;v[k]=x;
a.insert(x);
}
void sterge()
{
scanf("%d",&x);
a.erase(v[x]);
}
void minim()
{
x=*a.begin();
printf("%d\n",x);
}
int main()
{
freopen("heapuri.in", "r",stdin);
freopen("heapuri.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&tip);
if(tip==1)adauga();
else if(tip==2)sterge();
else minim();
}
return 0;
}
