Pagini recente » Cod sursa (job #2428414) | Cod sursa (job #1821266) | Cod sursa (job #493233) | Cod sursa (job #1155124) | Cod sursa (job #2899519)
#include <iostream>
#include <fstream>
#include <set>
using namespace std;
ifstream fin("zeap.in");
ofstream fout("zeap.out");
set<int> zeap;
int main()
{
int x,maxim = 0, minim = 1000000001;
string command;
while(fin>>command){
if(command == "I"){
fin>>x;
if(x>maxim)
maxim = x;
if(x<minim)
minim = x;
zeap.insert(x);
}
if(command == "S"){
fin>>x;
auto s = zeap.find(x);
if(s != zeap.end())
zeap.erase(x);
else fout<<-1<<"\n";
}
if(command == "C"){
fin>>x;
auto s = zeap.find(x);
if(s != zeap.end())
fout<<1<<"\n";
else fout<<0<<"\n";
}
if(command == "MAX"){
if(zeap.size() < 2)
fout<<-1<<"\n";
else fout<<maxim-minim<<"\n";
}
if(command == "MIN"){
if(zeap.size() < 2)
fout<<-1<<"\n";
else{
int dif = 1000000001;
for (auto val1 = zeap.begin(); next(val1) != zeap.end(); val1++) {
if(dif > *next(val1)-*val1){
//cout<<dif<<" "<<*next(val1)-*(val1)<<endl;
dif = *next(val1)-*val1;
//cout<<*(val1)<<" "<<*next(val1)<<endl;
}
}
fout<<dif<<"\n";
}
}
}
}