Pagini recente » Cod sursa (job #31130) | Cod sursa (job #2044583) | Cod sursa (job #2076284) | Cod sursa (job #2056306) | Cod sursa (job #2897531)
#include <bits/stdc++.h>
using namespace std;
typedef pair<int,pair<int,int>> Pair;
set<int> zeap;
priority_queue<Pair,vector<Pair>,greater<Pair>> dif;
int main(){
ifstream f("D:\\un alt proiect c++\\input.in");
ofstream g("D:\\un alt proiect c++\\output.out");
int x;
string s;
while(f>>s){
if(s[0]=='I'){
f>>x;
if(zeap.find(x)==zeap.end()){
zeap.insert(x);
auto index=zeap.find(x);
if(index!=zeap.begin()){
auto fiu=index;
fiu--;
dif.push(make_pair(*index-*fiu, make_pair(*fiu,*index)));
}
if(index!= --zeap.end()){
auto fiu=index;
fiu++;
dif.push(make_pair(*fiu-*index, make_pair(*index,*fiu)));
}
}
}
else
if(s[0]=='S'){
f>>x;
if(zeap.find(x)==zeap.end())
g<<"-1\n";
else{
auto index=zeap.find(x);
if(index!=zeap.begin() && ++index !=zeap.end()){
auto fiud=index--;
auto fius=--index;
dif.push(make_pair(*fiud-*fius, make_pair(*fius,*fiud)));
}
zeap.erase(x);
}
}
else
if(s[0]=='C'){
f>>x;
if(zeap.find(x)==zeap.end())
g<<"0\n";
else
g<<"1\n";
}
else
if(s[1]=='A'){
if(zeap.size()<2)
g<<"-1\n";
else
g<<*zeap.rbegin()-*zeap.begin()<<'\n';
}
else{
if(zeap.size()<2)
g<<"-1\n";
else{
while (zeap.find(dif.top().second.first)==zeap.end() || zeap.find(dif.top().second.second)==zeap.end())
dif.pop();
g<<dif.top().first<<'\n';
}
}
}
return 0;
}