Pagini recente » Cod sursa (job #2932497) | Cod sursa (job #2859283) | Cod sursa (job #2512015) | Cod sursa (job #150989) | Cod sursa (job #1148088)
#include <iostream>
#include <fstream>
#include <set>
#include <string>
#define INF 66666666
using namespace std;
ifstream f("zeep.in");
ofstream g("zeep.out");
set<int> zeep;
set<int>::iterator it, jt;
string s;
int mx, mn, x;
void parse(){
x=0;
for(int i=2; i<s.size(); ++i)
x=x*10+(s[i]-'0');
}
int main()
{
while(getline(f, s)){
// g<<s<<'\n';
if(s.front() == 'I')
parse(), zeep.insert(x);
if(s.front() == 'S'){
parse();
if(zeep.find(x)==zeep.end()){
g<<-1<<'\n'; continue;
}
zeep.erase(x);
}
if(s.front() == 'C')
parse(), g<<(zeep.find(x) != zeep.end())<<'\n';
if(s == "MIN"){
if(zeep.size() < 2){
g<<-1<<'\n'; continue;
}
mn=INF;
jt = zeep.begin(); it = jt; ++it;
for(; it!=zeep.end(); ++it, ++jt)
mn = min(mn, (*it)-(*jt));
g<<mn<<'\n';
}
if(s == "MAX"){
if(zeep.size() < 2){
g<<-1<<'\n'; continue;
}
mx = 0;
jt = zeep.end(); it = zeep.begin(); --jt;
// for(; it!=zeep.end(); ++it, ++jt)
// mx = max(mx, (*it)-(*jt));
g<<(*jt)-(*it)<<'\n';
}
}
return 0;
}