Cod sursa(job #2757953)

Utilizator Radu_FilipescuFilipescu Radu Radu_Filipescu Data 7 iunie 2021 19:37:21
Problema Zeap Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.34 kb
#include <bits/stdc++.h>

using namespace std;

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

const int INF = 2000000000;

set <int> s;

int main()
{
    string input;

    while( fin >> input ) {
        if( input == "MAX" )
            if( s.size() < 2 ) fout << "-1\n";
            else fout << *s.rbegin() - *s.begin() << '\n';

        if( input == "MIN" )
            if( s.size() < 2 ) fout << "-1\n";
            else {
                int minn = INF;

                for( set<int>::iterator it = s.begin(); it != s.end(); it++ ){
                    set<int>::iterator it2 = it;
                    it2++;

                    if( it2 != s.end() )
                        minn = min( minn, *it2 - *it );
                }

                fout << minn << '\n';
            }

        int x;
        if( input[0] == 'I' ) {
            fin >> x;
            s.insert( x );
        }

        if( input[0] == 'S' ) {
            fin >> x;
            set<int>::iterator it = s.find( x );

            if( it == s.end() )
                fout << "-1\n";
            else
                s.erase( it );
        }
        if( input[0] == 'C' ) {
            fin >> x;
            set<int>::iterator it = s.find( x );

            fout << ( it != s.end() ) << '\n';
        }
    }


    return 0;
}