Cod sursa(job #2416552)
Utilizator | Butnaru 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;
}