AT_tkppc6_2_g Must be Distinct!
题目描述
一个长度为 $M$ 的整数序列 $B$,如果满足以下条件,则称为*好数列*:
- 不存在整数对 $(i, j)$,满足 $1 \leq i < j < M$ 且 $|B_i - B_{i+1}| = |B_j - B_{j+1}|$。
企鹅君的目标是,对于给定的长度为 $N$ 的整数序列 $A$,通过以下操作任意次(可以为 $0$ 次),将 $A$ 变为*好数列*:
- 选择满足 $1 \leq l \leq r \leq N$ 的整数对 $(l, r)$,将 $A_l, A_{l+1}, \ldots, A_r$ 分别乘以 $-1$。
请判断企鹅君的目标是否可以实现,如果可以,请输出所需操作次数的最小值;如果无法实现,输出 $-1$。
输入格式
输入通过标准输入给出,格式如下:
> $N$ $A_1$ $A_2$ $\ldots$ $A_N$
输出格式
如果企鹅君的目标可以实现,输出所需操作次数的最小值;如果无法实现,输出 $-1$。
说明/提示
## 限制条件
- $3 \leq N \leq 10^5$
- $-10^9 \leq A_i \leq 10^9\ (1 \leq i \leq N)$
- 输入均为整数
## 样例解释 1
例如,只需对 $(l, r) = (2, 3)$ 操作一次即可。
## 样例解释 2
企鹅君的目标已经达成。
## 样例解释 3
企鹅君无法达成目标。
## 样例解释 4
原案:[penguinman](https://atcoder.jp/users/penguinman)
由 ChatGPT 4.1 翻译