Cod sursa(job #2726323)

Utilizator Maftei_TudorMaftei Tudor Maftei_Tudor Data 20 martie 2021 18:51:30
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#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;
}