Cod sursa(job #528451)

Utilizator tudorsTudor Siminic tudors Data 2 februarie 2011 21:01:42
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <stdio.h>
#include <set>
using namespace std;
int n,i,op,nr;
int j,POZ[200001],x;

multiset <int> HEAP;
multiset <int>::iterator it;

int main()
{
	FILE * f;
	f=fopen("heapuri.in","r");
	FILE * g;
	g=fopen("heapuri.out","w");
	fscanf(f,"%d",&n);
	for (i=1;i<=n;i++)
	{
		fscanf(f,"%d",&op);
		if (op==1)
		{
			fscanf(f,"%d",&nr);
			POZ[++j]=nr;
			HEAP.insert(nr);
		}
		else if (op==2)
		{
			fscanf(f,"%d",&nr);
			it=HEAP.find(POZ[nr]);
			HEAP.erase(it);
		}
		else
		{
			fprintf(g,"%d",*HEAP.begin());
			fprintf(g,"\n");
		}
	}
	fclose(f);
	fclose(g);
	return 0;
}