Cod sursa(job #2081637)

Utilizator ice_creamIce Cream ice_cream Data 4 decembrie 2017 21:55:49
Problema Heapuri Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <set>

using namespace std;

ifstream f ("heapuri.in");
ofstream g ("heapuri.out");

const int NMAX = 200000 + 1;

int ord[NMAX];
set <int> s;

void adauga(int x) {
	s.insert(x);
}

void sterge(int x) {
	s.erase(s.find(ord[x]));
}

void minim() {
	g << (*s.begin()) << '\n';
}

int main() {
	int n, k, x, op;
	f >> n;
	k = 0;

	while (n--) {
		f >> op;
		if (op == 1) {
			f >> x;
			ord[++k] = x;
			adauga(x);
			continue;
		}
		if (op == 2) {
			f >> x;
			sterge(x);
			continue;
		}
		minim();
	}

	return 0;
}