#include<bits/stdc++.h>
using namespace std;
int id[1000005];
int cnt[2005];
int l1,r1;
int main(){
int n,m;
cin>>n>>m;
int kk=0;
int r;
for(int i=1;i<=n;i++)cin>>id[i];
for(int i=1;i<=n;i++){
cnt[id[i]]++;
if(cnt[id[i]]==1)kk++;
if(kk==m){r=i;break;}
}
l1=1;r1=r;
for(int i=2;i<=n;i++){
cnt[id[i-1]]--;
if(cnt[id[i-1]]==0){
while(1){
r++;
cnt[id[r]]++;
if(cnt[id[i-1]]!=0)break;
if(r==n){
cout<<l1<<' '<<r1;
return 0;
}
}
}
if(r-i<r1-l1){r1=r;l1=i;}
}
cout<<l1<<' '<<r1;
return 0;
}
请问是为什么