#include <bits/stdc++.h>
#define int long long
using namespace std;
int a[1000010]; 
signed main()
{
	int n, m, cnt = 0, minn=1e9;
	cin >> n >> m;
	map<int,int> mp;
	for(int i = 1; i <= n; i++)
	{
		cin >> a[i];
	}
	int r=1, ansl, ansr;
	bool flag=0;
	for(int l = 1; l <= n; l++)
	{
		while(cnt<m)
		{
			if(r==n+1)
			{
				flag=1;
				break;
			}
			mp[a[r]]++;
			if(mp[a[r]]==1) cnt++;
			r++;
		}
		if(flag) break;
		if(r-l < minn)
		{
			minn=r-l;
			ansl=l;
			ansr=r-1;
		}
		if(mp[a[l]]==1) cnt--;
		mp[a[l]]--;
	}
	cout<<ansl<<" "<<ansr;
	return 0;
}

0 条评论

目前还没有评论...

信息

ID
116
时间
1000ms
内存
256MiB
难度
8
标签
递交数
56
已通过
9
上传者