Cod sursa(job #2761449)

Utilizator VladCaloVlad Calomfirescu VladCalo Data 2 iulie 2021 10:27:17
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.39 kb
//
//  main.cpp
//  heap1
//
//  Created by Vlad Calomfirescu on 27.04.2021.
//

#include <fstream>
#include <set>

using namespace std;

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

int f[200001];// retine pe ce poz au intrat nr citite
int x,n,op,k;

set <int> heap;

int main()
{

    fin>>n;
    for (int i = 1; i<=n; i++)
    {
        fin>>op;
        switch (op)
        {
            case 1: // case 1 insereaza x si actualizam pozitia lui in f
                fin>>x;
                heap.insert(x);
                f[++k] = x;
                break;
            case 2:
                fin>>x;
                heap.erase(f[x]); // stergem elem de pe poz x
                break;
            case 3:
                fout<<*heap.begin()<<'\n';  // af primul element care mereu va fi cel mai mic in multime pt ca e set
                break;
        }
    }
    return 0;
}


 
//set <int> heap;
//int n, f[200001], x,op,k;
//
//int main()
//{
//    fin>>n;
//    for ( int i =1;i <=n;i++)
//    {
//        fin>>op;
//
//        if (op==1) {
//            fin>>x;
//            heap.insert(x);
//            f[++k] =x;
//        }
//        else
//        {
//            if (op ==2)
//            {
//                fin>>x;
//                heap.erase(f[x]);
//            }
//            else{
//                fout<< *heap.begin() <<'\n';
//            }
//        }
//    }
//    return 0;
//}