#include<bits/stdc++.h>
using namespace std;
multiset<int>m;
int n,mm;
int main(){
scanf("%d",&mm);
for(int i=1;i<=mm;++i){
int opt,x;
scanf("%d%d",&opt,&x);
if(opt==1)m.insert(x);
if(opt==2)m.erase(m.find(x));
if(opt==3){
int ans=1;
multiset<int>::iterator it=m.find(x);
while(it!=m.begin()){
it--;
ans++;
}
printf("%d\n",ans);
}
if(opt==4){
multiset<int>::iterator it=m.begin();
for(int i=1;i<=x;++i)++it;
it--;
printf("%d\n",*it);
}
if(opt==5){
multiset<int>::iterator it=m.lower_bound(x);
it--;
printf("%d\n",*it);
}
if(opt==6){
multiset<int>::iterator it=m.upper_bound(x);
printf("%d\n",*it);
}
}
return 0;
}
如何吧for(int i=1;i<=x;++i)++it;优化成O(1),直接加会CE