Cod sursa(job #2743441)

Utilizator MadalinaKopaczMadalina Kopacz MadalinaKopacz Data 22 aprilie 2021 23:29:39
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <set>
#define NMax 200005
using namespace std;
ifstream fin("heapuri.in");
ofstream fout("heapuri.out");

set<int>h;   //multime coresp heapului
int poz[NMax];  //vector de pozitii din heap pentru a identifica pt stergere

int main()
{
    int N, task, x, nh = 0;
    fin >> N;
    for (int i = 1; i <= N; ++i)
    {
        fin >> task;
        if (task == 1 || task == 2) fin >> x;
        if (task == 1)
        {
            poz[++nh] = x;    //memoram a cata inserare este cea a lui x
            h.insert(x);
        }
        else if (task == 2) h.erase(poz[x]);    ///stergem al x-lea element 
             else fout << *h.begin() << "\n";  //.begin() returneaza pointer => ne referim la val cu *
    }
    return 0;
}