Pagini recente » Cod sursa (job #488195) | Cod sursa (job #1931395) | Cod sursa (job #144355) | Cod sursa (job #597178) | Cod sursa (job #2897747)
#include <bits/stdc++.h>
using namespace std;
ifstream f("zeap.in");
ofstream g("zeap.out");
#define cin f
#define cout g
set < int > numbers, dif;
int main()
{
string s;
while(cin >> s)
{
int x;
set < int >::iterator it, it1, it2;
if(s[0] == 'I')
{
cin >> x;
it = numbers.find(x);
if(it == numbers.end())
{
numbers.insert(x);
it = numbers.find(x);
it1 = it, it2 = it;
it1 --, it2 ++;
if(it != numbers.begin())
{
x = *it - *it1;
dif.insert(x);
}
if(it != -- numbers.end())
{
x = *it2 - *it1;
dif.insert(x);
}
if(it != numbers.begin() and it != -- numbers.end())
{
x = *it2 - *it1;
dif.erase(x);
}
}
}
else if(s[0] == 'S')
{
cin >> x;
it = numbers.find(x);
if(it != numbers.end())
{
it1 = it, it2 = it;
it1 --, it2 ++;
if(it != numbers.begin())
{
x = *it - *it1;
dif.erase(x);
}
if(it != -- numbers.end())
{
x = *it2 - *it1;
dif.erase(x);
}
if(it != numbers.end() and it != -- numbers.end())
{
x = *it2 - *it1;
dif.insert(x);
}
numbers.erase(it);
}
else
cout<<-1<<'\n';
}
else if(s[0] == 'C')
{
cin >> x;
it = numbers.find(x);
if(it == numbers.end())
cout<<0<<'\n';
else
cout<<1<<'\n';
}
else if(s[1] == 'A')
{
if(numbers.size() > 1)
cout<<*(-- numbers.end()) - *(numbers.begin())<<'\n';
else
cout<<-1<<'\n';
}
else
{
if(numbers.size() > 1)
cout<<*dif.begin()<<'\n';
else
cout<<-1<<'\n';
}
}
return 0;
}