Pagini recente » Cod sursa (job #3280746) | Cod sursa (job #2933129) | Cod sursa (job #2361337) | Cod sursa (job #2336738) | Cod sursa (job #2897743)
#include <fstream>
#include <set>
#include <string>
#include <cmath>
using namespace std;
set<long long >zeap;
int main()
{
ifstream f("zeap.in");
ofstream g("zeap.out");
string operatie;
long long nr;
while (f>>operatie)
{
if(operatie == "I") {
f >> nr;
if (zeap.find(nr) != zeap.end())
continue;
else
zeap.insert(nr);
} else if(operatie == "C")
{
f>>nr;
if(zeap.find(nr) != zeap.end())
g<<1<<'\n';
else
g<<0<<'\n';
} else if(operatie == "S")
{
f>>nr;
if(zeap.find(nr) != zeap.end())
zeap.erase(nr);
else
g<<-1<<'\n';
} else if(operatie == "MAX") {
if (zeap.size() < 2)
g << -1 << '\n';
else {
long long first = *next(zeap.begin(), 0);
long long last = *next(zeap.begin(), zeap.size() - 1);
g<<abs(last-first)<<'\n';
}
} else if(operatie == "MIN") {
if(zeap.size()>=2) {
long long minim = 10e9 + 3;
long long k = 0;
for (auto it = zeap.begin(); it != zeap.end() && k<zeap.size()-1 && minim>1; ++it) {
auto it2 = ++it;
it--;
if (minim > abs(*it - *it2))
minim = abs(*it - *it2);
k++;
}
g << minim << '\n';
} else g<<-1<<'\n';
}
}
f.close();g.close();
return 0;
}