P1638 27分
#include<bits/stdc++.h>
using namespace std;
int n,m;
int cnt;
int t[100001];
int a[1000001];
int l,r;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
l=r=0;
int ans=1e9,ansl=0,ansr=0;
while(l<=r&&r<=n){
if(cnt==m){
if(ans>r-l){
ans=r-l,ansl=l,ansr=r;
}
l++;
if(t[a[l]]==1)cnt--;
a[a[l]]--;
}
else{
r++;
if(t[a[r]]==0)cnt++;
t[a[r]]++;
}
}
if(ansl!=0)cout<<ansl+1<<" "<<ansr;
else cout<<"1 "<<n;
return 0;
}
(我感觉没问题啊??QAQ)