bro认为自己的代码没有问题
活死不知道哪里错了,调试一点问题没有,结果测试点4的r1总是多1
#include <bits/stdc++.h>
#define tin int
#define itn int
#define tni int
#define nit int
#define nti int
#define f(j,n) for(int i=j;i<=n;i++)
#define f2(k,n) for(int j=k;j<=n;j++)
#define MAXN 1e8
using namespace std;
typedef long long ll;
int a[1000005];
int ans[2005],o,r=0,l=1;
int main(){
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++){
if(ans[a[i]]==0)o++;
ans[a[i]]++;
r++;
if(o==m)break;
}
//cout<<o<<" ";
int i1=r;
while(ans[a[l]]>1)ans[a[l++]]--;
int l1=l,r1=r;
//cout<<l<<" "<<r<<endl;
for(int i=i1;i<=n;){
ans[a[i]]++;
r++;
i++;
while(ans[a[l]]>1)ans[a[l++]]--;
if(r1-l1>r-l){
//cout<<l1<<" "<<r1<<"\n";
r1=r;
l1=l;
}
}
cout<<l1<<" "<<r1;
/*
12 5
2 5 3 1 3 2 4 1 1 5 4 3
*/
}