atcoder#AGC037C. [AGC037C] Numbers on a Circle

[AGC037C] Numbers on a Circle

配点 : 800800

問題文

円環状に NN 個の正整数が並んでおり、それらには円環に沿った順に 11 から NN の番号がついています。

ii 番目の数は AiA_i です。高橋君は ii 番目の正整数が BiB_i となるようにしたいです。 そこで、高橋君は以下の操作を繰り返し行うことにしました。

  • 1iN1 \leqq i \leqq N なる整数 ii を一つ選ぶ。
  • i1,i,i+1i-1,i,i+1 番目の数をそれぞれ a,b,ca,b,c としたとき、ii 番目の数を a+b+ca+b+c に置き換える。

ただし、00 番目の数は NN 番目の数を指し、N+1N+1 番目の数は 11 番目の数を指すことに注意してください。

高橋君が条件をみたすように操作を行うことができるかどうか判定してください。 また可能である場合は、高橋君が行う必要のある操作回数として考えられる最小の値を求めてください。

制約

  • 3N2×1053 \leq N \leq 2 \times 10^5
  • 1Ai,Bi1091 \leq A_i, B_i \leq 10^9
  • 入力中のすべての値は整数である

入力

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

NN

A1A_1 A2A_2 ...... ANA_N

B1B_1 B2B_2 ...... BNB_N

出力

高橋君が行う必要のある操作回数として考えられる最小の値を出力せよ。 ただし、高橋君が条件をみたすように操作を行うことができない場合は -1 を出力せよ。

3
1 1 1
13 5 7
4

例えば高橋君は以下のように操作を行うことができます。

  • 22 番目の数を 33 に置き換える。
  • 22 番目の数を 55 に置き換える。
  • 33 番目の数を 77 に置き換える。
  • 11 番目の数を 1313 に置き換える。
4
1 2 3 4
2 3 4 5
-1
5
5 6 5 2 1
9817 1108 6890 4343 8704
25