#arc151e. [arc151_e]Keep Being Substring

[arc151_e]Keep Being Substring

问题描述

给定一个长度为NN的整数序列A=(A1,A2,,AN)A = (A_1, A_2, \ldots, A_N)。此外,还给出了长度为PPQQXXYY的连续子序列:X=(X1,X2,,XP)X = (X_1, X_2, \ldots, X_P)Y=(Y1,Y2,,YQ)Y = (Y_1, Y_2, \ldots, Y_Q)

你可以对XX执行以下四个操作中的任意一个操作任意次数(可能为零),并且可以按任意顺序执行。

  • XX的开头添加任意整数。
  • 删除XX开头的元素。
  • XX的末尾添加任意整数。
  • 删除XX末尾的元素。

在进行每次操作之前和之后,XX必须是AA非空连续子序列。找到使XX等于YY所需的最小总操作次数。根据问题的约束条件,通过重复这些操作,始终可以使XX等于YY

什么是连续子序列?

当存在一个整数ll满足1lNP+11 \leq l \leq N-P+1,且对于每个i=1,2,,Pi = 1, 2, \ldots, P,都有Xi=Al+i1X_i = A_{l+i-1}时,序列X=(X1,X2,,XP)X = (X_1, X_2, \ldots, X_P)A=(A1,A2,,AN)A = (A_1, A_2, \ldots, A_N)的连续子序列。

约束条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1AiN1 \leq A_i \leq N
  • 1P,QN1 \leq P, Q \leq N
  • (X1,X2,,XP)(X_1, X_2, \ldots, X_P)(Y1,Y2,,YQ)(Y_1, Y_2, \ldots, Y_Q)(A1,A2,,AN)(A_1, A_2, \ldots, A_N)的连续子序列。
  • 输入中的所有值都是整数。

输入

输入以如下格式从标准输入给出:

NN A1A_1 A2A_2 \ldots ANA_N PP X1X_1 X2X_2 \ldots XPX_P QQ Y1Y_1 Y2Y_2 \ldots YQY_Q

输出

输出答案。


样例输入1

7
3 1 4 1 5 7 2
2
3 1
3
1 5 7

样例输出1

3

你可以在保持XXAA的非空连续子序列的情况下,使XX等于YY,操作如下:

1.首先,删除XX开头的元素。现在,X=(1)X = (1)。 2.然后,在XX的末尾添加55。现在,X=(1,5)X = (1, 5)。 3.此外,在XX的末尾添加77。现在,X=(1,5,7)X = (1, 5, 7),与YY相等。

在这里,执行了三个操作,这是可能操作次数最少的。


样例输入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