AT_joigsp2025_b 雪玉 2 (Snowballs 2)

题目描述

葵正在玩雪地游戏。她面前有 $N$ 个雪玉排成一条直线,从左到右第 $i$ 个雪玉($1 \leq i \leq N$)的大小为 $A_i$。 葵打算最后做成一个大的雪玉。为此,她将重复下述操作,直到只剩下一个雪玉或者无法再操作为止。 1. 选择相邻的两个雪玉。设左侧雪玉大小为 $l$,右侧雪玉大小为 $r$,此时必须满足 $0 \leq l - r \leq 1$。 2. 将选中的两个雪玉合成。结果是这两个雪玉会合成为一个大小为 $l + r$ 的雪玉。也就是说,若操作前从左到右依次为大小 $s_1,s_2,\ldots,s_k$ 的 $k$ 个雪玉,选择第 $t$ 个($1 \leq t \leq k-1$)和第 $t+1$ 个雪玉合成后,合成后雪玉的排列为 $s_1,s_2,\ldots,s_{t-1},s_t+s_{t+1},s_{t+2},\ldots,s_k$,共 $k-1$ 个雪玉。 给定雪玉排成一排的信息,请你编写一个程序,判断葵是否能够通过合理的操作最后只剩下一个雪玉。

输入格式

输入由标准输入按以下格式给出: > $N\ A_1\ A_2\ \cdots\ A_N$

输出格式

输出一行。如果葵能够只剩下一个雪玉,输出 `Yes`,否则输出 `No`。

说明/提示

### 子任务 1.($15$ 分)$A_1 = A_2 = \cdots = A_N$。 2.($18$ 分)$N \leq 8$。 3.($18$ 分)$N \leq 200$。 4.($19$ 分)$N \leq 5\,000$。 5.($30$ 分)无其他约束。 --- ### 样例解释 1 例如,葵可以按如下方式操作,最终只剩下一个雪玉: 1. 选择从左起第 $4$ 和第 $5$ 个雪玉合成。操作后,依次为 $1,1,1,2$。 2. 选择从左起第 $1$ 和第 $2$ 个雪玉合成。操作后,依次为 $2,1,2$。 3. 选择从左起第 $1$ 和第 $2$ 个雪玉合成。操作后,依次为 $3,2$。 4. 选择从左起第 $1$ 和第 $2$ 个雪玉合成。操作后,依次为 $5$。 该输入样例满足所有子任务的约束。 --- ### 样例解释 2 无论葵如何操作,都无法只剩下一个雪玉。 该输入样例满足所有子任务的约束。 --- ### 样例解释 3 该输入样例满足子任务 $2,3,4,5$ 的约束。 --- ### 样例解释 4 该输入样例满足子任务 $3,4,5$ 的约束。 # 数据范围与约定 - $2 \leq N \leq 500\,000$。 - $1 \leq A_i \leq 10^{12}$ ($1 \leq i \leq N$)。 - 输入的所有数值均为整数。 由 ChatGPT 5 翻译