Cod sursa(job #710506)

Utilizator fhandreiAndrei Hareza fhandrei Data 9 martie 2012 20:25:33
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
//Include
#include <stdio.h>
#include <vector>
#include <set>
using namespace std;

//Variabile
FILE *in, *out;

int nrOperatii;
int tipOperatie, element;

multiset<int> heap;

vector<int> elemente (1);

//Main
int main()
{
	in = fopen("heapuri.in","rt");
	out = fopen("heapuri.out","wt");
	fscanf(in, "%d", &nrOperatii);
	
	elemente.reserve(nrOperatii+1);
	
	for(int i=1 ; i<=nrOperatii ; ++i)
	{
		fscanf(in, "%d", &tipOperatie);
		
		if(tipOperatie == 1)
		{
			fscanf(in, "%d", &element);
			elemente.push_back(element);
			heap.insert(element);
		}
		else if(tipOperatie == 2)
		{
			fscanf(in, "%d", &element);
			heap.erase(heap.find(elemente[element]));
		}
		else
			fprintf(out, "%d\n", *heap.begin());
	}
	
	fclose(in);
	fclose(out);
	return 0;
}