Code :
#include<bits/stdc++.h>
#include<ext/pb_ds/trie_policy.hpp>
#include<ext/pb_ds/hash_policy.hpp>
#include<ext/pb_ds/tree_policy.hpp>
#include<ext/pb_ds/assoc_container.hpp>
#define pl puts("")
#define int long long
using namespace std;
using namespace __gnu_pbds;
using namespace __gnu_cxx;
inline int read()
{
int x=0,f=1;
char c=getchar();
while(!isdigit(c))
{
if(c=='-')
f=-1;
c=getchar();
}
while(isdigit(c))
x=x*10+c-'0',c=getchar();
return x*f;
}
void print(int x)
{
if(x<0)
x=-x,putchar('-');
if(x>9)
print(x/10);
putchar(x%10+'0');
}
int n,x,opt;
tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update> tr;
signed main()
{
n=read();
for(int i=1;i<=n;i++)
{
opt=read(),x=read();
switch(opt)
{
case 1:tr.insert((x<<20)+i);break;
case 2:tr.erase(tr.lower_bound(x<<20));break;
case 3:print(tr.order_of_key(x<<20|1)),pl;break;
case 4:print(*tr.find_by_order(x-1)>>20),pl;break;
case 5:print(*--tr.lower_bound(x<<20)>>20),pl;break;
case 6:print(*tr.upper_bound((x<<20)+n)>>20),pl;break;
}
}
return 0;
}
哪位大佬能帮我看看哪里写错了吗/kk