atcoder#ARC114D. [ARC114D] Moving Pieces on Line

[ARC114D] Moving Pieces on Line

配点 : 600600

問題文

X=10100X = 10^{100} として,各整数 XiX-X \leq i \leq X に対応する頂点があり,XiX1-X \leq i \leq X-1 について頂点 i,i+1i, i + 1 を結ぶ無向辺 (以降,辺 {i,i+1}\{ i, i + 1 \} と呼ぶ) があるグラフがあります.

このグラフの辺は初めすべて赤く塗られています.また,NN 個 のコマがあり,ii 個目のコマは頂点 aia_i に置かれています.

maroon 君は次の操作を行うことができます.

  • コマを 11 つ選ぶ. このコマが頂点 ii にあるとき,コマを頂点 i1i-1 または頂点 i+1i+1 に動かし,通った辺を,現在の色が赤なら青,青なら赤に塗り替える.

操作の過程で,同じ頂点に複数のコマが存在しても構いません.

maroon 君はこれから上記の操作を 00 回以上繰り返して,辺の色の組合せを目的の状態にしたいと思っています.目的の状態は 偶数 KK と,KK 個の整数 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 \} は青,,tKi\cdots, t_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 \} は青で,それ以外の辺はすべて赤です.

maroon 君が辺の色の組合せを目的の状態にするために必要な操作回数の最小値を求めてください.また,そのような操作が不可能であるなら 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

出力

maroon 君が辺の色の組合せを目的の状態にするために必要な操作回数の最小値を出力せよ.また,そのような操作が不可能であるなら 1-1 を出力せよ.

2 2
2 -1
-2 2
4

例えば以下のように 44 回の操作で目的の状態にでき,44 本の辺の色を変える必要があるのでこれが最適です.

これは初めの状態です.便宜上 3-3 より左と 33 より右の辺は省いています.

0

1-1 にあるコマを 2-2 に動かすと次の状態になります.

1

22 にあるコマを 11 に動かすと次の状態になります.

2

11 にあるコマを 00 に動かすと次の状態になります.

3

00 にあるコマを 1-1 に動かすと次の状態になり,これが目的の状態です.

last

2 2
2 2
5 8
9

初めから同じ頂点に複数のコマがある場合もあります.

3 4
1 3 5
0 2 4 6
-1
4 4
3 4 5 6
3 4 5 6
2