#P16606. [GCPC2020]Hectic Harbour

[GCPC2020]Hectic Harbour

题目描述

长度为 nn 的同一条龙门架轨道上运行着两台龙门起重机。轨道上有 nn 个整数位置,编号为 1,2,,n1,2,\ldots,n,起重机需要在其中一些位置执行装货或卸货操作。

初始时:

  • 第一台起重机位于轨道最左端的位置 11
  • 第二台起重机位于轨道最右端的位置 nn

在每一个时间步中,每台起重机都可以:

  • 移动到相邻的整数位置;或者
  • 停留在当前位置,并且可以在该位置执行一次装货或卸货操作。

为了避免两台起重机相撞,在所有时刻,第一台起重机都必须严格位于第二台起重机的左侧。

每台起重机都有一张任务表,依次列出了它必须执行操作的位置。两台起重机都必须严格按照各自任务表中给定的顺序执行操作。

求两台起重机完成全部任务所需的最少时间步数。

题目保证第一台起重机不需要在位置 nn 执行操作,第二台起重机不需要在位置 11 执行操作。两台起重机各自任务表中的第一个和最后一个位置,均为它们的初始位置。

输入格式

第一行包含三个整数 n,a,bn,a,b

  • nn2n20002\le n\le 2000)表示轨道长度;
  • aa2a502\le a\le 50)表示第一台起重机任务表中的操作数量;
  • bb2b502\le b\le 50)表示第二台起重机任务表中的操作数量。

第二行包含 aa 个整数 k1,k2,,kak_1,k_2,\ldots,k_a1kin11\le k_i\le n-1),表示第一台起重机的任务表。

第三行包含 bb 个整数 1,2,,b\ell_1,\ell_2,\ldots,\ell_b2in2\le \ell_i\le n),表示第二台起重机的任务表。

保证

k1=ka=1,1=b=n.k_1=k_a=1,\qquad \ell_1=\ell_b=n.

输出格式

输出一个整数,表示两台起重机完成各自全部任务所需的最少时间步数。

样例 1

输入

3 2 4
1 1
3 3 2 3

输出

6

样例说明

一种需要 66 个时间步的最优安排如下:

时间 起重机 1 起重机 2
1 在位置 1 执行操作 在位置 3 执行操作
2
3 停留在位置 1 从位置 3 移动到位置 2
4 在位置 2 执行操作
5 从位置 2 移动到位置 3
6 在位置 3 执行操作

样例 2

输入

4 4 4
1 2 3 1
4 3 3 4

输出

9