Pagini recente » Cod sursa (job #3040959) | Cod sursa (job #31174) | Cod sursa (job #334218) | Cod sursa (job #2384154) | Cod sursa (job #1148091)
#include <iostream>
#include <fstream>
#include <set>
#include <string>
#define INF 66666666
using namespace std;
ifstream f("zeap.in");
ofstream g("zeap.out");
set<int> zeap;
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(), zeap.insert(x);
if(s.front() == 'S'){
parse();
if(zeap.find(x)==zeap.end()){
g<<-1<<'\n'; continue;
}
zeap.erase(x);
}
if(s.front() == 'C')
parse(), g<<(zeap.find(x) != zeap.end())<<'\n';
if(s == "MIN"){
if(zeap.size() < 2){
g<<-1<<'\n'; continue;
}
mn=INF;
jt = zeap.begin(); it = jt; ++it;
for(; it!=zeap.end(); ++it, ++jt)
mn = min(mn, (*it)-(*jt));
g<<mn<<'\n';
}
if(s == "MAX"){
if(zeap.size() < 2){
g<<-1<<'\n'; continue;
}
mx = 0;
jt = zeap.end(); it = zeap.begin(); --jt;
// for(; it!=zeap.end(); ++it, ++jt)
// mx = max(mx, (*it)-(*jt));
g<<(*jt)-(*it)<<'\n';
}
}
return 0;
}