#P4862. 秘密串 Ⅱ

秘密串 Ⅱ

题目描述

课堂上,蒜头君写出一个只包含小写字母的集合 SS,并且告诉同学们 SS 中的每个字母都是秘密字母。如果一个字符串内包含 SS 中所有的秘密字母,则这个字符串为秘密串(可以包含非秘密字母)。

给你一个只包含小写字母的集合 SS 和一个只包含小写字母的字符串 strstr。现在你需要在 strstr 中找到一个最短的子串(秘密串),使得该子串包含 SS 中所有的字母,请你输出该子串的长度。

细节补充:

  1. 子串:字符串中任意个连续的字符组成的子序列。
  2. 小写字母集合 SS 内只包含若干个互不相同的小写字母,且至少包含一个小写字母,最多包含 2626 个小写字母。

输入格式

第一行输入一个只包含小写字母的字符串 SS,表示小写字母集合,每个字母都不一样。
第二行输入一个由小写字母组成的字符串 strstr

数据保证 strstr 内一定包含 SS 内的所有字母。

输出格式

输出一个整数,表示最短秘密串的长度。

样例

jsk
hellojisuanke
7

样例解释
字符串 str=hellojisuankestr = \text{hellojisuanke} 中包含 S={j,s,k}S = \{\text{j}, \text{s}, \text{k}\} 的最短子串是 jisuank,长度为 77

数据范围

  • 1S261 \le |S| \le 26
  • Sstr10000|S| \le |str| \le 10000
  • SS 中的字母互不相同
  • 保证 strstr 内一定包含 SS 中的所有字母