#CF1492C. 最大宽度

最大宽度

最大宽度

  • 时间限制:2 秒
  • 内存限制:512 MiB

题目描述

你的同学,你虽然觉得他很无聊但又敬佩他的才智,手上有两个字符串:长度为 nn 的字符串 ss 和长度为 mm 的字符串 tt。

如果存在一个序列 p1,p2,…,pmp_1, p_2, \ldots, p_m,满足 1≤p1<p2<…<pm≤n1 \leq p_1 < p_2 < \ldots < p_m \leq n,并且对于所有 1≤i≤m1 \leq i \leq m,都有 spi=tis_{p_i} = t_i,那么这个序列被称为“美丽序列”。序列的宽度定义为 $\max\limits_{1 \le i < m} \left(p_{i + 1} - p_i\right)$。

请你帮助你的同学找出宽度最大的美丽序列。你的同学保证对于给定的字符串 ss 和 tt,至少存在一个美丽序列。

输入格式

第一行包含两个整数 nn 和 mm(2≤m≤n≤2⋅1052 \leq m \leq n \leq 2 \cdot 10^5),分别表示字符串 ss 和 tt 的长度。

第二行包含一个长度为 nn 的字符串 ss,仅由小写拉丁字母组成。

第三行包含一个长度为 mm 的字符串 tt,仅由小写拉丁字母组成。

保证对于给定的字符串,至少存在一个美丽序列。

输出格式

输出一个整数,表示美丽序列的最大宽度。

样例输入 1

5 3
abbbc
abc

样例输出 1

3

样例输入 2

5 2
aaaaa
aa

样例输出 2

4

样例输入 3

5 5
abcdf
abcdf

样例输出 3

1

样例输入 4

2 2
ab
ab

样例输出 4

1

数据范围

对于所有数据,2≤m≤n≤2×1052\le m\le n\le2\times10^5,s,ts,t 只含小写英文字母,且 tt 一定是 ss 的子序列。

子任务编号 分值 特殊限制
1 30 n≤20n\le20
2 n≤3000n\le3000
3 40 无特殊限制