#include<cstdio>
#include<algorithm>
#include<iostream>
#include<string.h>
#include<vector>
using namespace std;
#define maxn 200005
#define ll long long
int ant[maxn][29];
char ch[maxn];
int main()
{
int n,k;
scanf("%d%d",&n,&k);
getchar();
scanf("%s",ch);
ant[0][ch[0]-'a']=1;
for(int i=1;i<n;i++)
{
for(int j=0;j<26;j++)
ant[i][j]=ant[i-1][j];
ant[i][ch[i]-'a']++;
}
if(k==1)printf("1\n");
else{
int minn=1e9+7;
for(int i=0;i<26;i++)
{
int temp1=0,temp2=0;
if(ant[n-1][i]<k)continue;
while(temp1<n&&ant[temp1][i]==0)temp1++;
while(temp2<n&&ant[temp2][i]<k)temp2++;
minn=min(minn,temp2-temp1+1);
for(temp1++;temp1<n;temp1++)
{
if(ch[temp1-1]-'a'==i)
{
temp2++;
while(temp2<n&&ch[temp2]-'a'!=i)temp2++;
if(temp2==n)break;
}
minn=min(minn,temp2-temp1+1);
}
}
if(minn==1e9+7)printf("-1\n");
else printf("%d\n",minn);
}
return 0;
}
版权声明:本文为weixin_45502089原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。