Cod sursa(job #2416540)
Utilizator | Butnaru Vlad butnaru_vlad2003 | Data | 27 aprilie 2019 18:08:13 |
---|---|---|---|
Problema | Zeap | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.32 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,it2,it3;
int main ()
{
char a;
int k,mindif;
while (in>>a)
{
if (a=='I')
{
in>>k;
myset.insert(k);
}
if (a=='S')
{
in>>k;
it=myset.find(k);
if (it!=myset.end())
myset.erase(it);
else
out<<"-1"<<'\n';
}
if (a=='C')
{
in>>k;
it=myset.find(k);
if (it!=myset.end())
out<<'1'<<'\n';
else
out<<'0'<<'\n';
}
if (a=='M')
{
in>>a;
if(a=='A')
{ it2=myset.end();
it2--;
it3=myset.begin();
out<<(*it2-*it3)<<'\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;
}