TLE最后一个点,求解
  • 板块P1638 逛画展
  • 楼主Zyy67418
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/16 09:55
  • 上次更新2025/1/16 13:39:34
查看原帖
TLE最后一个点,求解
1283435
Zyy67418楼主2025/1/16 09:55
#include<bits/stdc++.h>
using namespace std;
long long a[1000010];
bool check(long long l,long long r,long long k){
	long long b[2010]={0},ans=0;
	for(long long i=l;i<=r;i++){
		if(b[a[i]]==0){
			ans++;
		}
		b[a[i]]++;
	}
	if(ans==k)return true;
	return false;
}
int main(){
	freopen("1.txt","r",stdin);
	long long n,m,minn=LONG_LONG_MAX,l,r;
	cin>>n>>m;
	for(long long i=1;i<=n;i++){
		cin>>a[i];
	}
	for(long long i=1,j=m;j<=n;j++){
		if(i<j&&check(i,j,m)==1){
			if(j-i+1<minn){
				minn=j-i+1,l=i,r=j;
			}
			i++;
			j--;
		}
	}
	cout<<l<<' '<<r;
	return 0;
}
2025/1/16 09:55
加载中...