Cod sursa(job #2371038)

Utilizator RK_05Ivancu Andreea Raluca RK_05 Data 6 martie 2019 15:17:01
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#include <iostream>
#include <set>
#include <iterator>

using namespace std;

ifstream fin("heapuri.in");
ofstream fout("heapuri.out");

int n, c, v[200005], k;
multiset <int> mset;
multiset <int> :: iterator i;

int main(){

    fin >> n;
    for(int j = 1; j <= n; ++j){
        int c, x;
        fin >> c;
        if(c == 1){
            fin >> x;
            v[k] = x;
            k++;
            mset.insert(x);
        }
        else if(c == 2){
            fin >> x;
            i = mset.find(v[x - 1]);
            mset.erase(mset.find(*i));
        }
        else if(c == 3){
            i = mset.begin();
            fout << *i << '\n';
        }
    }
    fin.close();
    fout.close();
    return 0;
}