求救0分 orz
  • 板块灌水区
  • 楼主realracing
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/12/23 11:10
  • 上次更新2023/12/23 13:52:22
查看原帖
求救0分 orz
779211
realracing楼主2023/12/23 11:10
#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[1000010];
int use[2010],cnt;
int ansl,ansr,sum,l=0,r=0;
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)scanf("%d",&a[i]);
	ansr=1e9;
	while(l<=r)
	{
		if(r>=m)
		{
			use[a[l]]--;
			if(use[a[l]]==0)cnt--;
			l++;
		}
		else
		{
			if(use[a[r]]==0)cnt++;
			use[a[r]]++;
			r++;
		}
		if(cnt==m)
			if(r-l<ansr-ansl)
				ansl=l,ansr=r;
	}
	cout<<ansl+1<<" "<<ansr;
	return 0;
}

2023/12/23 11:10
加载中...