Cod sursa(job #1458295)

Utilizator tamionvTamio Vesa Nakajima tamionv Data 7 iulie 2015 12:12:50
Problema Heapuri Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <vector>
#include <queue>
#include <fstream>
#include <functional>
using namespace std;

int main(){
	ifstream f("heapuri.in");
	ofstream g("heapuri.out");
	int n;
	f >> n;
	vector<int> bagate;
	priority_queue<int, vector<int>, greater<int> > multime, scoase;
	for(int i = 0, a, b; i < n; ++i){
		f >> a;
		if(a == 1){
			f >> b;
			multime.push(b);
			bagate.push_back(b); } 
		else if(a == 2){
			f >> b;
			scoase.push(bagate[b-1]); }
		else if(a == 3){
			while(!multime.empty() && !scoase.empty() && multime.top() == scoase.top()){
				multime.pop(), scoase.pop(); }
			g << multime.top() << '\n'; } }
	return 0; }