Cod sursa(job #1061951)

Utilizator miu_mik93FMI - Paduraru Miruna miu_mik93 Data 20 decembrie 2013 15:20:31
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.98 kb
#include <iostream>
#include <string>
#include <stdlib.h>
#include <assert.h>
#include <time.h>
#include <algorithm>
#include <vector>
#include <cstdio>
#include <cstring>
#include <fstream>
#include <queue>
#include <cstdlib>
#include <iomanip>
#include <cmath>
#include <stdarg.h>
#include <stdio.h>
#include <set>
using namespace std;
//#include <unordered_map>
#define NMAX 200001
set <int> heap;
int main()
{
	FILE *f = fopen ("heapuri.in", "r");
	FILE *g = fopen ("heapuri.out", "w");

	int cod; int k = 0, N, pos[NMAX];
	fscanf (f, "%d", &N);
	for (int i = 0; i < N; i++)
	{
		fscanf (f, "%d", &cod);
		int x;
		if ( cod == 1 || cod == 2 )
		{
			fscanf (f, "%d", &x);
			if ( cod  == 1 )
			{
				heap.insert( x );
				pos[++k] = x;
			}
			else
			{
				heap.erase( pos[x] );
			}
		}
		else
			if ( cod == 3 )
			{
				set<int>::iterator it = heap.begin();
				fprintf (g, "%d\n", *it);
			}
	}

	fclose(f);
	fclose(g);
	return 0;
}