洛谷AC了,在某某OJ上得了76,TLE了!!!
查看原帖
洛谷AC了,在某某OJ上得了76,TLE了!!!
1399367
syex_WXy楼主2024/10/21 20:21

此代码在某某OJ上TLE了:

#include<bits/stdc++.h>
using namespace std;
int n,q,t[8005];
struct date{
	int num,id;
}a[8005];
bool operator < (date x,date y){
	if(x.num!=y.num)return x.num<y.num;
	return x.id<y.id;
}
int main(){
	cin>>n>>q;
	for(int i=1;i<=n;i++){
		cin>>a[i].num;
		a[i].id=i;
	}
	sort(a+1,a+n+1);
	for(int i=1;i<=n;i++){
		t[a[i].id]=i;
	}
	while(q--){
		int oo,x,y;
		cin>>oo>>x;
		if(oo==1){
			cin>>y;
			a[t[x]].num=y;
			for(int j=n;j>=2;j--)
				if(a[j]<a[j-1]){
					swap(a[j],a[j-1]);
				}
			for(int j=2;j<=n;j++)
				if(a[j]<a[j-1]){
					swap(a[j],a[j-1]);
				}
			for(int i=1;i<=n;i++){
				t[a[i].id]=i;
			}
		}else{
			cout<<t[x]<<endl;
		}
	}
	return 0;
}

求大佬帮优化!!!

2024/10/21 20:21
加载中...