Cod sursa(job #3201646)

Utilizator MihneaLoxGheorghe Mihnea Florentin MihneaLox Data 9 februarie 2024 12:43:54
Problema Heapuri Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

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

vector<pair<int,int>>V;

void solve();

int main(){

    solve();

    fin.close();
    fout.close();
    return 0;
}

void solve(){

    int n,x,y,nr=0;
    fin>>n;

    for(int i=1;i<=n;++i){
        make_heap(V.begin(),V.end(),greater<pair<int,int>>());
        fin>>x;
        if(x==3){
            fout<<V.front().first<<'\n';
            continue;
        }
        if(x==1){
            fin>>y;
            V.push_back({y,++nr});
            push_heap(V.begin(),V.end());
            continue;
        }
        fin>>y;
        for(int i=0;i<V.size();++i){
            if(V[i].second==y){
                V.erase(V.begin()+i);
            }
        }
        make_heap(V.begin(),V.end(),greater<pair<int,int>>());
    }
}