Cod sursa(job #2526153)

Utilizator matei123Biciusca Matei matei123 Data 18 ianuarie 2020 12:10:59
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>
#include <queue>
using namespace std;
ifstream f("heapuri.in"); ofstream g("heapuri.out");
typedef pair<int, int> pi;
vector <int> v;
priority_queue<pi, vector<pi>, greater<pi> > q;
const long long inf =(1<<30);
int main()
{   int n,el=0;
    f>>n;
    for (int operatie,i=1; i<=n; i++)
    {   f>>operatie;
        switch (operatie)
        {   case 1: int e;
                    f>>e;
                    v.push_back(e);
                    q.push(make_pair(e, el));
                    el++;
                    break;
            case 2: f>>e;
                    v[e-1]=inf;
                    break;
            default: while (v[q.top().second]==inf) q.pop();
                    g<<q.top().first<<"\n";
                    break;
        }
    }
    return 0;
}