Cod sursa(job #3129472)

Utilizator bobic.teona20Bobic Teona-Christiana bobic.teona20 Data 14 mai 2023 19:18:27
Problema Zeap Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.53 kb
#include <bits/stdc++.h>
#include <fstream>
#include <ostream>
using namespace std;
ifstream f("zeap.in");
ofstream g("zeap.out");
set<int> zeap;

int main() {
    string line;
    while (getline(f, line)) {
        string op;
        f >> op;
        if (op == "I") {
            int x;
            f >> x;
            zeap.insert(x);
        } else if (op == "S") {
            int x;
            f >> x;
            if (zeap.find(x) != zeap.end()) {
                zeap.erase(x);
            } else {
                g << "-1\n";
            }
        } else if (op == "C") {
            int x;
            f >> x;
            if (zeap.find(x) != zeap.end()) {
                g << "1\n";
            } else {
                g << "0\n";
            }
        } else if (op == "MAX") {
            if (zeap.size() < 2) {
                g << "-1\n";
            } else {
                int max_dif = *(zeap.rbegin()) - *(zeap.begin());
                g << max_dif << '\n';
            }
        } else if (op == "MIN") {
            if (zeap.size() < 2) {
                g << "-1\n";
            } else {
                int min_dif = INT_MAX;
                auto it = zeap.begin();
                int prev = *it;
                ++it;
                while (it != zeap.end()) {
                    min_dif = min(min_dif, *it - prev);
                    prev = *it;
                    ++it;
                }
                g << min_dif << '\n';
            }
        }
    }
    return 0;
}