Pagini recente » Cod sursa (job #279840) | Cod sursa (job #101286) | Cod sursa (job #1067945) | Cod sursa (job #448044) | Cod sursa (job #3316617)
#include <bits/stdc++.h>
#define NMAX 1005
#define ll long long
std::ifstream f("zeap.in");
std::ofstream g("zeap.out");
using namespace std;
int n, x;
string a;
map<int, bool> fr;
void I(){
f >> x;
fr[x]=1;
}
void S(){
f >> x;
if(fr[x]==0) g << -1 << '\n';
fr.erase(x);
}
void C(){
f >> x;
g << fr[x] << '\n';
}
void MAX(){
pair<int, bool> j, t;
int nr=0;
for(auto i:fr){
if(i.second==0) continue;
if(nr==0) {j=i;nr++;continue;}
t=i;
nr++;
}
if(nr==1){g << -1 << '\n';return;}
g << t.first-j.first<< '\n';
}
void MIN(){
pair<int, bool> j;
int nr=0;
int Min=1000000001;
for(auto i:fr){
if(i.second==0) continue;
if(nr==0) {j=i;nr++;continue;}
Min=min(Min, abs(i.first-j.first));
j=i;
nr++;
}
if(nr==1){g << -1 << '\n';return;}
g << Min << '\n';
}
int main() {
while(f >> a){
if(a[0]=='I') I();
else if(a[0]=='S') S();
else if(a[0]=='C') C();
else{
if(a[1]=='A') MAX();
else MIN();
}
f.get();
}
}