AT_agc037_c [AGC037C] Numbers on a Circle
题目描述
有 $N$ 个正整数按圆环状排列,按照圆环顺序编号为 $1$ 到 $N$。
现在第 $i$ 个数为 $A_i$。高桥君希望将第 $i$ 个正整数变为 $B_i$。为此,他可以重复进行以下操作:
- 选择一个满足 $1 \leq i \leq N$ 的整数 $i$。
- 设第 $i-1$、$i$、$i+1$ 个数分别为 $a, b, c$,则将第 $i$ 个数替换为 $a + b + c$。
注意,第 $0$ 个数指的是第 $N$ 个数,第 $N+1$ 个数指的是第 $1$ 个数。
请判断高桥君是否可以通过若干次操作使得所有数满足条件。如果可以,输出所需操作次数的最小值;如果无法满足条件,输出 $-1$。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $A_1$ $A_2$ $\ldots$ $A_N$ $B_1$ $B_2$ $\ldots$ $B_N$
输出格式
输出高桥君需要进行的最小操作次数。如果无法满足条件,输出 $-1$。
说明/提示
### 限制条件
- $3 \leq N \leq 2 \times 10^5$
- $1 \leq A_i, B_i \leq 10^9$
- 输入中的所有值均为整数
### 样例解释 1
例如,高桥君可以按如下方式进行操作:
- 将第 $2$ 个数替换为 $3$。
- 将第 $2$ 个数替换为 $5$。
- 将第 $3$ 个数替换为 $7$。
- 将第 $1$ 个数替换为 $13$。
由 ChatGPT 4.1 翻译