Cod sursa(job #2899511)

Utilizator Andoss1710Balanica Andrei Andoss1710 Data 8 mai 2022 21:37:08
Problema Zeap Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.34 kb
#include <iostream>
#include <fstream>
#include <set>
using namespace std;

ifstream fin("zeap.in");
ofstream fout("zeap.out");
set<int> zeap;
int main()
{

    int x,maxim = 0, minim = 1000000001;
    string command;
    while(fin>>command){
        if(command == "I"){
            fin>>x;
            if(x>maxim)
                maxim = x;
            if(x<minim)
                minim = x;
            zeap.insert(x);
        }
        if(command == "S"){
            fin>>x;
            auto s = zeap.find(x);
            if(s != zeap.end())
                zeap.erase(x);
            else fout<<-1<<"\n";

        }
        if(command == "C"){
            fin>>x;
            auto s = zeap.find(x);
            if(s != zeap.end())
                fout<<1<<"\n";
            else fout<<0<<"\n";

        }
        if(command == "MAX"){
            fout<<maxim-minim<<"\n";
        }
        if(command == "MIN"){
            int dif = 1000000001;
            for (auto val1 = zeap.begin(); next(val1) != zeap.end(); val1++) {
                if(dif > *next(val1)-*val1){
                    //cout<<dif<<" "<<*next(val1)-*(val1)<<endl;
                    dif = *next(val1)-*val1;
                    //cout<<*(val1)<<" "<<*next(val1)<<endl;
                }
            }
        fout<<dif<<"\n";
        }
    }
}