rt,不知道哪里出问题了,有没有大佬解释一下
#include<ext/pb_ds/tree_policy.hpp>
#include<ext/pb_ds/assoc_container.hpp>
#include<bits/stdc++.h>
using namespace std;
using namespace __gnu_pbds;
typedef long long ll;
ll n,opt,x,ans;
tree<ll,null_type,less<ll>,rb_tree_tag,tree_order_statistics_node_update> t;
int main() {
scanf("%lld",&n);
while(n--) {
scanf("%lld%lld",&opt,&x);
switch (opt) {
case 1: {
t.insert(x);
break;
}
case 2: {
t.erase(x);
break;
}
case 3: {
printf("%lld\n",t.order_of_key(x)+1);
break;
}
case 4: {
ans= *t.find_by_order(x-1);
printf("%lld\n",ans);
break;
}
case 5: {
ans= *--t.lower_bound(x);
printf("%lld\n",ans);
break;
}
case 6: {
ans= *t.lower_bound(x+1);
printf("%lld\n",ans);
break;
}
}
}
return 0;
}