Cod sursa(job #2416552)

Utilizator butnaru_vlad2003Butnaru Vlad butnaru_vlad2003 Data 27 aprilie 2019 18:22:13
Problema Zeap Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.34 kb
#include <fstream>
#include <set>
#include <climits>
using namespace std;
ifstream in ("zeap.in");
ofstream out ("zeap.out");
set<int> myset;
set<int>::iterator it;
int main ()
{
    char a;
    int k;
    while (in>>a)
    {
        if (a=='I')
        {
            in>>k;
            myset.insert(k);
            continue;
        }
        if (a=='S')
        {
            in>>k;
            it=myset.find(k);
            if (it!=myset.end())
                myset.erase(it);
            else
                out<<"-1"<<'\n';
            continue;
        }
        if (a=='C')
        {
            in>>k;
            it=myset.find(k);
            if (it!=myset.end())
                out<<'1'<<'\n';
            else
                out<<'0'<<'\n';
            continue;
        }
        if (a=='M' && myset.size()<=1)
            out<<"-1"<<'\n';
        else
        {
            in>>a;
            if(a=='A')
                out<<(*--myset.end()-*myset.begin())<<'\n';
            else
            {
                int b=INT_MAX;
                for (it=myset.begin(); it!=--myset.end(); it++)
                {
                    if(b>*++it-*--it)
                        b=*++it-*--it;
                }
                out<<b<<'\n';
            }
            in>>a;
        }
    }
    return 0;
}