TLE之王
查看原帖
TLE之王
969221
Fryderyk_Chopin楼主2023/11/20 13:15

TLE 了后面三个点,求救~

#include<bits/stdc++.h>
using namespace std;
int n,a,b,k=1,ans[200010],m=1,len;
struct abc{
	int x;
	int y;
}x;
vector<abc> ve;
bool cmp1(abc x,abc y){
	return x.x<y.x;
}
bool cmp2(abc x,abc y){
	return x.y<y.y;
}
int main(){ 
	cin>>n;
	for(int i=1;i<=n;i++){
		len=ve.size();
		cin>>a;
		if(a==0){
			cin>>b;
			x.x=b;
		    x.y=k;
		    ve.push_back(x);
		    k++;
		}
		else if(a==1){
			sort(ve.begin()+0,ve.begin()+len,cmp2);
			ve.erase(ve.begin()+ve.size()-1);
			len--;
		}
		else if(a==2){
			sort(ve.begin()+0,ve.begin()+len,cmp1);
			if(!ve.size()==0) ans[m]=ve[ve.size()-1].x;
			else ans[m]=0;
			m++;
		}
	}
	for(int i=1;i<m;i++) cout<<ans[i]<<"\n";
	return 0;
}
2023/11/20 13:15
加载中...