atcoder#ARC120C. [ARC120C] Swaps 2

[ARC120C] Swaps 2

配点 : 500500

問題文

長さ NN の数列 $A = (A_1, A_2, A_3, \dots, A_N), B = (B_1, B_2, B_3, \dots, B_N)$ が与えられます。 以下の操作を繰り返す (11 回も行わなくてもよい) ことで AABB に一致させることが可能かを判定してください。また、可能なら、AABB に一致させるのに必要な最小の操作回数を求めてください。

  • 1i<N1 \le i \lt N を満たす整数 ii を選び、以下のことを順に行う - AiA_iAi+1A_{i + 1} を入れ替える
    • AiA_i11 を足す
    • Ai+1A_{i + 1} から 11 を引く
  • AiA_iAi+1A_{i + 1} を入れ替える
  • AiA_i11 を足す
  • Ai+1A_{i + 1} から 11 を引く

制約

  • 2N2×1052 \le N \le 2 \times 10^5
  • 0Ai1090 \le A_i \le 10^9
  • 0Bi1090 \le B_i \le 10^9
  • 入力に含まれる値は全て整数

入力

入力は以下の形式で標準入力から与えられる。

NN

A1A_1 A2A_2 A3A_3 \dots ANA_N

B1B_1 B2B_2 B3B_3 \dots BNB_N

出力

AABB に一致させることが不可能なら -1 を出力せよ。 可能なら、そのために必要な最小の操作回数を出力せよ。

3
3 1 4
6 2 0
2

以下のように操作すると、22 回の操作で AABB に一致させることができます。

  • まず、i=2i = 2 として操作する。A=(3,5,0)A = (3, 5, 0) となる。
  • 次に、i=1i = 1 として操作する。A=(6,2,0)A = (6, 2, 0) となる。

11 回以下の操作で目的を達成することはできません。

3
1 1 1
1 1 2
-1

この場合、AABB に一致させることは不可能です。

5
5 4 1 3 2
5 4 1 3 2
0

11 回も操作をしなくても AABB に一致している可能性があります。

6
8 5 4 7 4 5
10 5 6 7 4 1
7