You are given a string s consisting of lowercase Latin letters. Character c is called k-dominant iff each substring of s with length at least k contains this character c.
You have to find minimum k such that there exists at least one k-dominant character.
Input
The first line contains string s consisting of lowercase Latin letters (1 ≤ |s| ≤ 100000).
Output
Print one number — the minimum value of k such that there exists at least one k-dominant character.
Examples
Input
abacaba
Output
2
Input
zzzzz
Output
1
Input
abcde
Output
3
这一题的思路就是从字符a开始到z记录相同字符的间隔,再求所有间隔中最小的输出就行
。
#include <bits/stdc++.h>
using namespace std;
char str[100005];
const int INF=0x3f3f3f3f;
int main()
{
int k,t,num=INF;
scanf("%s",&str);
for(int i='a';i<='z';i++)
{
k=0,t=1;
for(int j=0;j<strlen(str);j++)
{
if(str[j]==i)
{
t=1;
}
else
{
t++;
}
k=max(k,t);
}
num=min(num,k);
}
cout<<num<<endl;
}