题目
将近一年没做字符串的题了,属于是神志不清了
#include <iostream>
#include <cstring>
#include <algorithm>
#include<map>
using namespace std;
const int maxn=1e6+5;
int l,r,length;
int mp[maxn];
int a[maxn];
int cnt;
int main()
{
int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++)
cin>>a[i];
for(int i=1,j=1;i<=n;i++)
{
if(!mp[a[i]])
cnt++;
mp[a[i]]++;
if(cnt<=k)
{
if(length<i-j+1)
{
length=i-j+1;
l=j;
r=i;
}
}
else
{
while(cnt>k)
{
int temp=a[j++];
mp[temp]--;
if(!mp[temp])
cnt--;
}
}
}
cout<<l<<" "<<r;
}