甚至普通的过了简化的没过
#include<bits/stdc++.h>
using namespace std;
int n,opt,tmp;
vector<int>tree;
void opt2(){
printf("%d\n",tree[tmp-1]);
}
int opt3(){
static auto it1=lower_bound(tree.begin(),tree.end(),tmp);
if(it1==tree.end())return -2147483647;
else{
--it1;
return*(it1);
}
}
void opt4(){
static auto it2=upper_bound(tree.begin(),tree.end(),tmp);
if(it2==tree.end())puts("2147483647");
else printf("%d\n",*(it2));
}
void opt5(){
tree.insert(lower_bound(tree.begin(),tree.end(),tmp),tmp);
}
void opt1(){
bool f=0;
if(opt3()==-2147483647)
tree.insert(lower_bound(tree.begin(),tree.end(),tmp),tmp),f=1;
printf("%d\n",*(lower_bound(tree.begin(),tree.end(),tmp))-*(tree.begin())+1);
if(f)tree.erase(lower_bound(tree.begin(),tree.end(),tmp));
}
int main(){
scanf("%d",&n);
while(n--){
scanf("%d%d",&opt,&tmp);
switch(opt){
case 2:
opt2();
break;
case 3:
printf("%d\n",opt3());
break;
case 4:
opt4();
break;
case 5:
opt5();
break;
case 1:
opt1();
break;
}
}
return 0;
}