Cod sursa(job #357853)

Utilizator allynaAlina S allyna Data 20 octombrie 2009 21:17:05
Problema Heapuri Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <stdio.h>
#define D 200002
int a[D],heap[D],minim,n,k;
void insert()
{
	int x;
	scanf("%d",&x);
	a[++k] = x;
	if (minim>x) minim=x;
}
void del()
{
	int x, i;
	scanf("%d ", &x);
	heap[x]=1;
	if (a[x]==minim)
	{
		minim=9999999;
		for (i=1;i<=k;i++)
			if (minim>a[i]&&heap[i]==0) minim=a[i];
	}
}
int main()
{
	freopen("heapuri.in","r",stdin);
	freopen("heapuri.out","w",stdout);
	int i,op;
	scanf("%d",&n);
	minim=9999999;
	for (i=1;i<=n;i++)
	{
		scanf("%d",&op);
		if (op==1) insert();
		if (op==2) del();
		if (op==3) printf("%d\n",minim);
	}
	return 0;
}