Cod sursa(job #2907375)

Utilizator N.B.Lnabil. N.B.L Data 29 mai 2022 23:50:41
Problema Heapuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.74 kb
#include <iostream>
#include <set>
#include <vector>
#include <algorithm>
#include <fstream>
//#include <vector>
//#include "collections/IoBase.h"
//#include "collections/cardurile.h"




using namespace std;

#define HURRY_UP ios_base::sync_with_stdio(false) , cin.tie(nullptr) , cout.tie(nullptr);


// Numele studentului : Alhafez Nabil seria 14, grupa 143, semigrupa 1.
// Numele laborant: Stefan eduard.
// compliatorul : MinG++ 3.21.1
ifstream filein("heapuri.in");
ofstream fileout("heapuri.out");

set<int> heapu;
const int N = 2e6 + 10;
int ind;

int main() {
    int n = 0;
    filein >> n;
    int x, arr[N]  ;
    fill(arr , arr + n , 0);
    for (int i = 1; i <= n; ++i) {
        filein >> x;

        if (x == 1) {
            filein >> x;
            arr[++ind] = x;
            heapu.insert(x);
        } else if (x == 2) {
            filein >> x;
            heapu.erase(arr[x]);
        } else if (x == 3)
            fileout << *heapu.begin() << "\n";
    }

    return 0;
}
//
//int verificaSuma(int current) {
//    int ans = 0;
//    int init = current;
//    for (int i = 1; i <= n; i++) {
//        if (arr[i] <= ans)ans++;
//        else { if (init) init--, ans++; }
//    }
//    return ans + init >= m;
//}
//
//int main() {
//    HURRY_UP;
//    cin >> n >> m;
//    for (int ind = 1; ind <= n; ind++)
//        cin >> arr[ind];
//    int st = 0, ed = n, res = m;
//    while (st <= ed) {
//        int mid =( st + ed) / 2;
//        if (verificaSuma(mid))
//             res = mid,ed = mid - 1;
//        else st = mid + 1;
//    }
//
//    return cout << min(res,m), 0;
//}
//int main() {
//
//    std::cout << "Hello, World!" << std::endl;
//
//    TranzitCard baseCard;
//    cin >> baseCard;
//    cout << baseCard;
//
//
//    return 0;
//}