Pagini recente » Cod sursa (job #2403580) | Cod sursa (job #44496) | Cod sursa (job #2566059) | Cod sursa (job #1400260) | Cod sursa (job #2726323)
#include <fstream>
#include <set>
#include <queue>
#include <vector>
using namespace std;
ifstream fin ("heapuri.in");
ofstream fout ("heapuri.out");
vector<int> v;
set<int> myset;
priority_queue<int> que;
int n;
int main()
{
fin>>n;
for(int i=1; i<=n; i++)
{
int tip;
fin>>tip;
if(tip==1)
{
int val;
fin>>val;
que.push(-val);
v.push_back(val);
}
else if(tip==2)
{
int val;
fin>>val;
myset.insert(v[val-1]);
}
else
{
while(!que.empty())
{
if(myset.find(-que.top())==myset.end())
{fout<<-que.top()<<'\n'; break;}
que.pop();
}
}
}
return 0;
}