原题
一开始以为要主席树做((((φ(◎ロ◎;)φ)))晕),后来发现,原来可以这么简单,就是几个函数稍微装扮一下就行了,不过这几个函数并不是经常用,写下来留作以后参考用。
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<vector>
using namespace std;
int n,m,x;
char s[10];
int main()
{
freopen("input.txt","r",stdin);
int T;
scanf("%d",&T);
while( T-- ){
vector<int> vec;
scanf("%d %d",&n,&m);
for( int i=1 ; i<=n ; i++ ){
scanf("%d",&x);
vec.push_back(x);
}
sort(vec.begin(),vec.end());
while( m-- ){
scanf("%s %d",s,&x);
if( s[0]=='q' ) printf("%d\n",vec[vec.size()-x]);
else if( s[0]=='i' ) vec.insert(lower_bound(vec.begin(),vec.end(),x),x);
else vec.erase(lower_bound(vec.begin(),vec.end(),x));
}
}
return 0;
}