Pagini recente » Cod sursa (job #2793083) | Cod sursa (job #1913519) | Cod sursa (job #2033024) | Cod sursa (job #695147) | Cod sursa (job #2896726)
#include <fstream>
#include <set>
#pragma GCC optimize ("O3")
using namespace std;
ifstream fin("zeap.in");
ofstream fout("zeap.out");
set<int> bst;
int main() {
int nr, aux, dif;
char op[10];
while(gets(op)) {
if(op[0] == 'I') {
fin >> nr;
bst.insert(nr);
} else if(op[0] == 'S') {
fin >> nr;
aux = bst.size();
bst.erase(nr);
if(aux == bst.size()) fout << "-1\n";
} else if(op[0] == 'C') {
fin >> nr;
if(bst.find(nr) == bst.end()) fout << "0\n";
else fout << "1\n";
} else if(op[1] == 'A') {
if(bst.size() < 2) fout << "-1\n";
else fout << *bst.rbegin() - *bst.begin() << '\n';
} else {
if(bst.size() < 2) fout << "-1\n";
else {
set<int>::iterator i = bst.begin();
dif = 999999999;
aux = *i++;
for(; i != bst.end(); i++) {
if( *i - aux < dif ) dif = *i - aux;
aux = *i;
}
fout << dif << '\n';
}
}
}
return 0;
}