Pagini recente » Cod sursa (job #1660573) | Cod sursa (job #3259484) | Cod sursa (job #969333) | Cod sursa (job #2134957) | Cod sursa (job #3129472)
#include <bits/stdc++.h>
#include <fstream>
#include <ostream>
using namespace std;
ifstream f("zeap.in");
ofstream g("zeap.out");
set<int> zeap;
int main() {
string line;
while (getline(f, line)) {
string op;
f >> op;
if (op == "I") {
int x;
f >> x;
zeap.insert(x);
} else if (op == "S") {
int x;
f >> x;
if (zeap.find(x) != zeap.end()) {
zeap.erase(x);
} else {
g << "-1\n";
}
} else if (op == "C") {
int x;
f >> x;
if (zeap.find(x) != zeap.end()) {
g << "1\n";
} else {
g << "0\n";
}
} else if (op == "MAX") {
if (zeap.size() < 2) {
g << "-1\n";
} else {
int max_dif = *(zeap.rbegin()) - *(zeap.begin());
g << max_dif << '\n';
}
} else if (op == "MIN") {
if (zeap.size() < 2) {
g << "-1\n";
} else {
int min_dif = INT_MAX;
auto it = zeap.begin();
int prev = *it;
++it;
while (it != zeap.end()) {
min_dif = min(min_dif, *it - prev);
prev = *it;
++it;
}
g << min_dif << '\n';
}
}
}
return 0;
}