从项链上剪下最短的一段
有一条把 n 颗珠子串成一圈的项链。
每颗珠子上刻着一个小写英文字母,项链字符串 S 的第 i 个字符就是第 i 颗珠子。
因为项链是圆的,第 n 颗珠子后面又是第 1 颗珠子。
要从项链上剪下连续的若干颗珠子,使得字符串 T 中的每个字母都至少拥有它在 T 中出现的次数。
剪下的珠子从某一颗开始沿编号增大的方向(第 n 颗之后是第 1 颗)连续,同一颗珠子不能用两次。
让剪下的珠子数尽可能少。
如果有多种方法,选起始珠子编号最小的。
把起始珠子的编号和剪下的珠子数用空格分隔输出在一行。
怎么剪都不行时输出 -1。
- 输入
- 第一行给出 S,第二行给出 T。
两者都只由小写英文字母组成。
1 ≤ S 的长度 n ≤ 100,000,1 ≤ T 的长度 ≤ 100,000 - 输出
- 起始珠子的编号和珠子数用空格分隔输出在一行,或 -1
cabbad dc
6 2
ab aa
-1