#ATagc037c. [AGC037C] Numbers on a Circle

[AGC037C] Numbers on a Circle

题目描述

NN 个正整数按圆环状排列,按照圆环顺序编号为 11NN

现在第 ii 个数为 AiA_i。高桥君希望将第 ii 个正整数变为 BiB_i。为此,他可以重复进行以下操作:

  • 选择一个满足 1iN1 \leq i \leq N 的整数 ii
  • 设第 i1i-1iii+1i+1 个数分别为 a,b,ca, b, c,则将第 ii 个数替换为 a+b+ca + b + c

注意,第 00 个数指的是第 NN 个数,第 N+1N+1 个数指的是第 11 个数。

请判断高桥君是否可以通过若干次操作使得所有数满足条件。如果可以,输出所需操作次数的最小值;如果无法满足条件,输出 1-1

输入格式

输入通过标准输入给出,格式如下:

NN A1A_1 A2A_2 \ldots ANA_N B1B_1 B2B_2 \ldots BNB_N

输出格式

输出高桥君需要进行的最小操作次数。如果无法满足条件,输出 1-1

样例 1

输入

3
1 1 1
13 5 7

输出

4

样例 2

输入

4
1 2 3 4
2 3 4 5

输出

-1

样例 3

输入

5
5 6 5 2 1
9817 1108 6890 4343 8704

输出

25

说明/提示

限制条件

  • 3N2×1053 \leq N \leq 2 \times 10^5
  • 1Ai,Bi1091 \leq A_i, B_i \leq 10^9
  • 输入中的所有值均为整数

样例解释 1

例如,高桥君可以按如下方式进行操作:

  • 将第 22 个数替换为 33
  • 将第 22 个数替换为 55
  • 将第 33 个数替换为 77
  • 将第 11 个数替换为 1313

由 ChatGPT 4.1 翻译