Pagini recente » Cod sursa (job #382917) | Cod sursa (job #544231) | Cod sursa (job #1848118) | Cod sursa (job #1912555) | Cod sursa (job #3129462)
#include <bits/stdc++.h>
#define ull unsigned long long
#define ll long long
#define pii pair<int,int>
#define pb push_back
#define mp make_pair
#define F first
#define S second
#define MOD 1000000007
#define MAXN 100005
using namespace std;
bitset<MAXN> used;
vector<int> v;
void insert(int x) {
if (!used[x]) {
used[x] = true;
v.pb(x);
}
}
int search(int x) {
if (used[x]) return 1;
return 0;
}
int remove(int x) {
if (!used[x]) return -1;
used[x] = false;
for (int i = 0; i < v.size(); i++) {
if (v[i] == x) {
v.erase(v.begin() + i);
break;
}
}
return 0;
}
int maxDiff() {
if (v.size() < 2) return -1;
sort(v.begin(), v.end());
int res = 0;
for (int i = 1; i < v.size(); i++) {
res = max(res, v[i] - v[i-1]);
}
return res;
}
int minDiff() {
if (v.size() < 2) return -1;
sort(v.begin(), v.end());
int res = INT_MAX;
for (int i = 1; i < v.size(); i++) {
res = min(res, v[i] - v[i-1]);
}
return res;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
freopen("zeap.in", "r", stdin);
freopen("zeap.out", "w", stdout);
string s;
while (getline(cin, s)) {
if (s[0] == 'I') {
int x = stoi(s.substr(2));
insert(x);
}
else if (s[0] == 'S') {
int x = stoi(s.substr(2));
cout << remove(x) << "\n";
}
else if (s[0] == 'C') {
int x = stoi(s.substr(2));
cout << search(x) << "\n";
}
else if (s == "MAX") {
cout << maxDiff() << "\n";
}
else if (s == "MIN") {
cout << minDiff() << "\n";
}
}
return 0;
}