枚举 · 例14-最短合法子串
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}本题转译自 [牛客挑战赛 23] 字符串
\hspace{15pt}牛牛有一个字符串 s ,他把这这个字符串的所有子串都挑了出来。
\hspace{15pt}他认为,一个 s 的子串 t 是合法的,当且仅当 t 中包含了所有的小写字母( \texttt{a}\texttt{z} )。
\hspace{15pt}牛牛希望知道所有的合法的 s 的子串中,长度最短是多少。特别的,如果不存在合法的子串,直接输出 -1

\hspace{15pt}子串为从原字符串中,连续的选择一段字符(可以全选、可以不选)得到的新字符串。

输入描述:

\hspace{15pt}在一行上输入一个长度不超过 10^6 ,仅由小写字母构成的字符串 s ,代表初始字符串。

输出描述:

\hspace{15pt}如果存在合法的子串,在一行上输出一个整数,代表最短的合法子串长度;否则,直接输出 -1
示例1

输入

复制
ykjygvedtysvyymzfizzwkjamefxjnrnphqwnfhrnbhwjhqcgqnplodeestu

输出

复制
49
示例2

输入

复制
aabbc

输出

复制
-1