#arc114d. [arc114_d]Moving Pieces on Line

[arc114_d]Moving Pieces on Line

问题说明

X=10100X = 10^{100}。我们有一个图,其中每个整数 \-XiX\-X \leq i \leq X 都有一个顶点,并且对于每个 \-XiX1\-X \leq i \leq X-1,有一个连接顶点 ii 和顶点 i+1i + 1 的无向边(我们将其称为边 i,i+1\\{ i, i + 1 \\})。

此图中的所有边最初都被涂成红色。另外,我们有 NN 个物品,第 ii 个物品位于顶点 aia_i

Maroon可以重复以下操作:

  • 选择一个物品。如果该物品位于顶点 ii,则将其移动到顶点 i1i-1i+1i + 1。然后,如果经过的边现在被涂成红色,则将其涂成蓝色,反之亦然。

在此过程中,可能有多个物品位于同一个顶点。

Maroon希望通过零次或多次执行此操作,使边的颜色组合达到他期望的状态。期望的颜色组合由一个偶数 KKKK 个整数 t1<t2<<tKt_1 < t_2 < \cdots < t_K 表示:这意味着对于 i<t1i < t_1,边 i,i+1\\{ i, i + 1 \\} 是红色的,对于 t1i<t2t_1 \leq i < t_2,边 i,i+1\\{ i, i + 1 \\} 是蓝色的,以此类推,对于 tKit_K \leq i,边 i,i+1\\{ i, i + 1 \\} 是红色的。更正式地说,对于每个奇数 j=1,3,,K1j = 1, 3, \cdots, K-1,对于每个满足 tji<tj+1t_j \leq i < t_{j+1}ii,边 i,i+1\\{ i, i + 1 \\} 是蓝色的;其他所有边都是红色的。

求使边的颜色组合达到期望状态所需的最小操作次数。如果无法做到这一点,请输出 \-1\-1

约束条件

  • 1N50001 \leq N \leq 5000
  • 2K50002 \leq K \leq 5000
  • KK 是偶数。
  • ai109|a_i| \leq 10^9
  • ti109|t_i| \leq 10^9
  • ti<ti+1t_i < t_{i+1}
  • 输入中的所有值都是整数。

输入

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

NN KK a1a_1 a2a_2 \cdots aNa_N t1t_1 t2t_2 \cdots tKt_K

输出

输出使边的颜色组合达到期望状态所需的最小操作次数。如果无法做到这一点,请输出 \-1\-1


样例输入 1

2 2
2 -1
-2 2

样例输出 1

4

如下所示,我们可以通过四个操作达到期望的状态,这是最优的,因为我们需要重新涂色四条边。

初始情况如下所示。为了方便起见,我们省略了 \-3\-3 左侧和 33 右侧的边。

0

我们将位于 \-1\-1 的物品移动到 \-2\-2 得到以下结果:

1

然后,我们将位于 22 的物品移动到 11 得到以下结果:

2

然后,我们将位于 11 的物品移动到 00 得到以下结果:

3

然后,我们将位于 00 的物品移动到 \-1\-1 得到以下结果,这就是期望的状态:

last


样例输入 2

2 2
2 2
5 8

样例输出 2

9

一开始可能有多个物品位于同一个顶点。


样例输入 3

3 4
1 3 5
0 2 4 6

样例输出 3

-1

样例输入 4

4 4
3 4 5 6
3 4 5 6

样例输出 4

2