90分求调!
  • 板块P1638 逛画展
  • 楼主xuman
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/1/23 16:49
  • 上次更新2025/1/23 19:56:51
查看原帖
90分求调!
919041
xuman楼主2025/1/23 16:49
#include<bits/stdc++.h>
using namespace std;

int a[1000010],k=0;
int ton[2010];

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	for(int i=n;i>=1;i--){
		if(!ton[a[i]])k++;
		ton[a[i]]++;
		if(k==m){
			k=i;
			break;
		}
	}
	int s,e,len=1e9;
	for(int i=1;i<=k;i++){
		while(a[i]==a[i+1])i++;
		for(int j=1;j<=m;j++){
			ton[j]=0;
		}
		int dyx=0;
		for(int j=i;j<=i+len-1;j++){
			if(ton[a[j]])continue;
			dyx++;
			ton[a[j]]=1;
			if(dyx==m){
				if(len>j-i){
					len=j-i;
					s=i;
					e=j;
				}
				break;
			}
		}
	}
	cout<<s<<' '<<e;
	return 0;
}
2025/1/23 16:49
加载中...