救
查看原帖
救
627732
Fuxh_18楼主2024/5/7 13:26

我这样做为什么 TLE ?有大佬帮一下吗?谢谢。

#include<bits/stdc++.h>
using namespace std;
int b[200001],ans=200001;
int main(){
	int n,k;
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		int a;
		cin>>a;
		b[a]=i;
	}
	for(int i=1;i<=n-k+1;i++){
		int minn=n+1,maxx=0;
		for(int j=i;j<=i+k-1;j++){
			minn=min(b[j],minn);
			maxx=max(b[j],maxx);
		}
		ans=min(ans,maxx-minn);
	}
	cout<<ans;
	return 0;
}
2024/5/7 13:26
加载中...