#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
的子序列包括net
,c
和contest
。
约束
- $1 \leq |s| \leq 10^5$
- $1 \leq |t| \leq 10^5$
- $s$ 和 $t$ 由小写英文字母组成。
输入
从标准输入读入。
输出
如果存在一个整数 $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$ 位整数类型中,尽管我们不能在这里提出这种情况。
相关
在下列比赛中: