Cod sursa(job #244529)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 15 ianuarie 2009 12:40:24
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
using namespace std;

#include <bitset>
#include <set>
#define pb push_back
#define mp make_pair
#define f first
#define s second
#define II inline
#define FOR(i,a,b) for(int i=a;i<=b;++i)
#define IN  "heapuri.in"
#define OUT "heapuri.out"
#define N_MAX 1<<18

int K,N;
int P[N_MAX];

II void scan()
{
	freopen(IN,"r",stdin);
	freopen(OUT,"w",stdout);
	scanf("%d",&K);
}

multiset<int> Q;

II void solve()
{
	int t,x;
	FOR(i,1,K)
	{
		scanf("%d",&t);
		if(t!=3)
			scanf("%d",&x);
		if(t==1)
		{
			P[++N] = x;
			Q.insert(x);
		}	
		if(t==2)
			Q.erase(Q.find(P[x]));
		if(t==3)
			printf("%d\n",*Q.begin());
	}
}

int main()
{
	scan();
	solve();
	return 0;
}