Pagini recente » Cod sursa (job #2383538) | Cod sursa (job #2978629) | Cod sursa (job #545911) | Cod sursa (job #2597202) | Cod sursa (job #2751762)
#include <bits/stdc++.h>
using namespace std;
set<int> zeap;
int x;
char comanda[3];
ifstream fin("zeap.in");
ofstream fout("zeap.out");
int main()
{
while (fin>>comanda)
{
// cout<<comanda<<'\n';
// cout<<1;
if (!strcmp(comanda,"I"))
{
fin>>x;
zeap.insert(x);
}
else if (!strcmp(comanda,"S"))
{
fin>>x;
if (zeap.find(x) == zeap.end())
{
int rez = -1;
fout<<rez<<'\n';
}
else
zeap.erase(x);
}
else if (!strcmp(comanda,"C"))
{
fin>>x;
if (zeap.find(x) != zeap.end())
fout<<1<<'\n';
else
fout<<0<<'\n';
}
else if (!strcmp(comanda,"MAX"))
{
fout<<*(zeap.rbegin()) - *(zeap.begin())<<'\n';
}
else
{
int anterior = *zeap.begin();
int dif = std::numeric_limits<int>::max();///valoarea maxima pentru int
for (auto i = zeap.begin(); i != zeap.end(); i++)
{
if (i != zeap.begin())
{
if (dif > *i - anterior)
dif = *i - anterior;
}
}
fout<<dif<<'\n';
}
// fout<<comanda<<'\n';
}
// zeap.insert(3);
// zeap.erase(10);
//
// for (auto c: zeap)
// cout<<c<<' ';
}