2019.2.13 Problem B - del
题目描述
小A有一个长度为\(m\)的字符串\(a\),小B有一个长度为\(n\)的字符串\(b\)。现在小B按照某个确定的顺序从\(b\)中逐个删除字符,小A想在某个时候阻止小B,然后自己任意删除一部分字符,使剩下的部分恰好为\(a\)。请问小B按照给定的顺序最多可以删除多少个字符,使得小A在阻止后仍有可能得到\(a\)?
保证在小B行动之前,\(b\)串可以通过一系列删除操作得到\(a\)。如果小A必须要在小B行动之前阻止他,则答案为0。
输入格式
第一行一个字符串\(b\);
第二行一个字符串\(a\);
第三行是一个\(1 \sim n\)的全排列,表示小B依次删除的字符在原本的字符串\(b\)中的下标。下标从1开始计数。
字符串中仅含小写英文字母。
输出格式
一个非负整数\(ans\),表示小A最迟可以在小B删除\(ans\)个字符后阻止他。
样例1
输入
ababcba
abb
5 3 4 1 7 6 2
输出
3
样例2
输入
bbbabb
bb
1 6 3 4 2 5
输出
4
数据规模、时空限制
对于40%的数据,\(1 \le m \le n \le 2000\)
对于100%的数据,\(1 \le m \le n \le 2 \times 10^5\)
时间限制1s,空间限制512MB。
来源
2019.2 TYWZ提高组集训
供题人:于剑