Cod sursa(job #2514815)

Utilizator mariasmmskklns mariasmm Data 26 decembrie 2019 21:08:30
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.91 kb
#include <iostream>

#include <fstream>

#include <queue>


using namespace std;

typedef pair<int, int> pi;

vector <int> v;

priority_queue<pi, vector<pi>, greater<pi> > q;

const long long inf =(1<<30);

int main()

{

    ifstream f("heapuri.in");

    ofstream g("heapuri.out");

    int n;

    f>>n;
    int el=0;

    for (int i=1; i<=n; i++)

    {

        int operatie;

        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;

}