Cod sursa(job #2640659)

Utilizator BogdanTicuTicu Bogdan Valeriu BogdanTicu Data 7 august 2020 11:38:37
Problema Heapuri Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <bits/stdc++.h>

using namespace std;

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

int v[200001],viz[99999999];
int len=0;
priority_queue<int,vector<int>,greater<int> >q;

void show()
{
	priority_queue<int,vector<int>,greater<int> >q1=q;
	while(!q1.empty())
	{
		cout<<q1.top()<<" ";
		q1.pop();
	}
}
void clear()
{
	while(!q.empty())
		q.pop();
}
int main()
{
	int n;
	in>>n;
	for(int i=1;i<=n;i++)
	{
		int cod,x;
		in>>cod;
		if(cod==1||cod==2)
		{
			in>>x;
		}
		if(cod==1)
		{
			v[++len]=x;
			q.push(x);
		}
		else if(cod==2)
		{
	//		clear();
	//		for(int i=1;i<=len;i++)
	//			if(i!=x&&viz[i]==0) q.push(v[i]);
			viz[v[x]]=1;
		}
		else if(cod==3)
		{
			while(viz[q.top()]==1) q.pop();			
			out<<q.top()<<"\n";
		}
//		show();
//		cout<<endl;
	}
	return 0;
}