#AT1413. E - Strings of Impurity

E - Strings of Impurity

E - 不纯的字符串

得分:$500$ 分

题目描述

给定两个由小写英文字母组成的字符串 $s$ 和 $t$。判断是否存在一个整数 $i$ 满足以下条件,并找出最小的满足条件的 $i$。

  • 令 $s'$ 为 $s$ 的 $10^{100}$ 个拷贝的连接。$t$ 是字符串 ${s'}_1{s'}_2\ldots{s'}_i$ ($s'$ 的前 $i$ 个字符)的子序列。

说明

  • 一个字符串 $a$ 的子序列是通过从 $a$ 中删除零个或多个字符,并将剩下的字符按原来的相对顺序连接而得到的字符串。例如,字符串 contest 的子序列包括 netccontest

约束

  • $1 \leq |s| \leq 10^5$
  • $1 \leq |t| \leq 10^5$
  • $s$ 和 $t$ 由小写英文字母组成。

输入

从标准输入读入。

ss

tt

输出

如果存在一个整数 $i$ 满足条件,则输出最小的满足条件的 $i$;否则输出 -1


contest
son
10

$t =$ son 是字符串 contestcon 的子序列($s' =$ contestcontestcontest... 的前 $10$ 个字符),因此 $i = 10$ 满足条件。

另一方面,$t$ 不是字符串 contestco 的子序列($s'$ 的前 $9$ 个字符),所以 $i = 9$ 不满足条件。

类似地,小于 $9$ 的任何整数也不满足条件。因此,最小的满足条件的整数 $i$ 是 $10$。


contest
programming
-1

$t =$ programming 不是 $s' =$ contestcontestcontest... 的子序列。因此,不存在满足条件的整数 $i$。


contest
sentence
33

注意,答案可能无法放在一个 $32$ 位整数类型中,尽管我们不能在这里提出这种情况。