Pagini recente » Cod sursa (job #1869735) | Cod sursa (job #1971785) | Cod sursa (job #554146) | Cod sursa (job #1737558) | Cod sursa (job #1690909)
#include<fstream>
#include<algorithm>
#include<set>
#include<stdlib.h>
#include<iostream>
using namespace std;
int v[50010], s[50010], m[50010];
ifstream in("zeap.in");
ofstream out("zeap.out");
int N, K;
set<int> Set;
int main()
{
char c;
int nr;
while (in >> c)
{
if (c == 'I')
{
in >> nr;
Set.insert(nr);
}
else if (c == 'S')
{
in >> nr;
if(Set.erase(nr)==0)
out << "-1\n";
}
else if(c=='C')
{
in >> nr;
if (Set.find(nr) == Set.end())
out << "0\n";
else
out << "1\n";
}
else
{
in >> c;
if (c == 'A')
{
if (Set.size() >= 2)
out << abs(*(Set.rbegin()) - *(Set.begin()))<<'\n';
else
out << "-1\n";
}
else if(c == 'I')
{
if (Set.size() >= 2)
{
int nr1 = 1 << 30;
int nr2 = 1 << 30;
int mn = 1 << 30;
for (auto i = Set.begin();i != Set.end();++i)
{
if (nr1 == (1 << 30))
nr1 = *i;
else
{
nr2 = *i;
mn = min(mn, abs(nr1 - nr2));
nr1 = nr2;
}
}
out << mn<<'\n';
}
else
out << "-1\n";
}
in >> c;
}
}
return 0;
}