问题描述
给定一个长度为N的整数序列A=(A1,A2,…,AN)。此外,还给出了长度为P和Q的X和Y的连续子序列:X=(X1,X2,…,XP)和Y=(Y1,Y2,…,YQ)。
你可以对X执行以下四个操作中的任意一个操作任意次数(可能为零),并且可以按任意顺序执行。
- 在X的开头添加任意整数。
- 删除X开头的元素。
- 在X的末尾添加任意整数。
- 删除X末尾的元素。
在进行每次操作之前和之后,X必须是A的非空连续子序列。找到使X等于Y所需的最小总操作次数。根据问题的约束条件,通过重复这些操作,始终可以使X等于Y。
什么是连续子序列?
当存在一个整数l满足1≤l≤N−P+1,且对于每个i=1,2,…,P,都有Xi=Al+i−1时,序列X=(X1,X2,…,XP)是A=(A1,A2,…,AN)的连续子序列。
约束条件
- 1≤N≤2×105
- 1≤Ai≤N
- 1≤P,Q≤N
- (X1,X2,…,XP)和(Y1,Y2,…,YQ)是(A1,A2,…,AN)的连续子序列。
- 输入中的所有值都是整数。
输入
输入以如下格式从标准输入给出:
N
A1 A2 … AN
P
X1 X2 … XP
Q
Y1 Y2 … YQ
输出
输出答案。
样例输入1
7
3 1 4 1 5 7 2
2
3 1
3
1 5 7
样例输出1
3
你可以在保持X为A的非空连续子序列的情况下,使X等于Y,操作如下:
1.首先,删除X开头的元素。现在,X=(1)。
2.然后,在X的末尾添加5。现在,X=(1,5)。
3.此外,在X的末尾添加7。现在,X=(1,5,7),与Y相等。
在这里,执行了三个操作,这是可能操作次数最少的。
样例输入2
20
2 5 1 2 7 7 4 5 3 7 7 4 5 5 5 4 6 5 6 1
6
1 2 7 7 4 5
7
7 4 5 5 5 4 6
样例输出2
7