Cod sursa(job #712745)

Utilizator gabriel93Robu Gabriel gabriel93 Data 13 martie 2012 19:18:12
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<stdio.h>
#include<set>
#include<vector>
using namespace std;
int k,tip,x;

vector<int> poz(1);
multiset<int> heap;

int main()
{
	int i;
	freopen("heapuri.in","r",stdin);
	freopen("heapuri.out","w",stdout);
	scanf("%d",&k);
	poz.reserve(k+1);
	for(i=1;i<=k;i++)
	{
		scanf("%d",&tip);
		if(tip==3)
			printf("%d\n",*heap.begin());
		else
		{
			scanf("%d",&x);
			if(tip==2)
				heap.erase(heap.find(poz[x]));
			else
			{
				poz.push_back(x);
				heap.insert(x);
			}
		}
	}
	fclose(stdin);
	fclose(stdout);
	return 0;
}