Cod sursa(job #2269181)

Utilizator skoda888Alexandru Robert skoda888 Data 25 octombrie 2018 18:52:56
Problema Heapuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb

#include <iostream>
#include <fstream>
#include <set>
#include <vector>

int main()
{
    std::ifstream in("heapuri.in");
    std::ofstream out("heapuri.out");

    std::multiset<long long> heap;
    std::vector<long long> mult;
    int N;
    in >> N;
    for(int i = 1; i <= N; ++i){
        int task_num;
        in >> task_num;

        int x;
        switch(task_num){

        case 1:
            in >> x;
            heap.insert(x);
            mult.push_back(x);
            break;
        case 2:
            in >> x;
            heap.erase(heap.find(mult[x]));
            break;
        default:
            std::multiset<long long>::iterator it = heap.begin();
            out << *it;
            break;
        }
    }
    return 0;
}