#include<bits/stdc++.h>
using namespace std;
int vis[1000005];
int cnt;
int a[1000005],m,n,ai,bi,minn;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>a[i];
int l=1,r=1;
while(cnt<=m-1)
{
vis[a[r]]++;
if(vis[a[r]]==1)
cnt++;
r++;
}
r--;
minn=r,ai=1,bi=r;
while(l<=r&&r<=n)
{
int now=a[l];
l++;
vis[now]--;
if(vis[now]==0)
{
while(r<=n)
{
r++;
if(a[r]==now)
{
vis[now]++;
break;
}
}
}
if(r-l+1<minn)
{
minn=r-l+1;
ai=l;
bi=r;
}
}
printf("%d %d\n",ai,bi);
return 0;
}
为啥后面的数据wa的整整齐齐啊。。。