不是,我糊了啊!
查看原帖
不是,我糊了啊!
658786
STUDENT00楼主2022/10/20 18:59

用STL的vector轻松水过,额……

#include<bits/stdc++.h>
using namespace std;
int n,opt,x;
vector<int> vec; 
int main(){
	scanf("%d",&n);
	while(n--){
		scanf("%d%d",&opt,&x);
		if(opt==1) vec.insert(lower_bound(vec.begin(),vec.end(),x),x);
		else if(opt==2) vec.erase(lower_bound(vec.begin(),vec.end(),x));
		else if(opt==3) printf("%d\n",lower_bound(vec.begin(),vec.end(),x)-vec.begin()+1);
		else if(opt==4) printf("%d\n",vec[x-1]);
		else if(opt==5) printf("%d\n",vec[lower_bound(vec.begin(),vec.end(),x)-vec.begin()-1]);
		else printf("%d\n",vec[upper_bound(vec.begin(),vec.end(),x)-vec.begin()]);
	}
	return 0;
}
2022/10/20 18:59
加载中...