@[_wakeup](/user/666741)
```cpp
#include<iostream>
#include<cstdio>
using namespace std;
long long n,m,a[1000100],v[2010],hua=0,minn=1000005;
int main()
{
scanf("%lld%lld",&n,&m);
for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
int i=1,j=0,l=1,r=n;
while(i<=n)
{
while(hua<m&&j<n)
{
j++;
if(v[a[j]]==0)hua++;
v[a[j]]++;
}
v[a[i]]--;
if(v[a[i]]==0)hua--;
i++;
if(j-i+1<minn&&hua==m)l=i,r=j,minn=j-i+1;
}
printf("%lld %lld",l,r);
return 0;
}
```
by ncwzdlsd @ 2023-03-07 18:34:39
@[_wakeup](/user/666741) 改了一下 $j$、$l$、$r$ 的初始值
by ncwzdlsd @ 2023-03-07 18:35:17
@[ncwzdlsd](/user/822239) 谢谢dalao(已关)
by _wakeup @ 2023-03-07 21:35:04