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 翻译