CF1092D2 Great Vova Wall (Version 2)
题目描述
Vova 的家族正在建造伟大的 Vova 墙(这个名字是 Vova 自己起的)。Vova 的父母、祖父母、曾祖父母都为此做出了贡献。现在,最后的收尾工作完全交给了 Vova。
当前墙的状态可以用一个长度为 $n$ 的整数序列 $a$ 表示,其中 $a_i$ 表示第 $i$ 段墙的高度。
Vova 只能使用 $2 \times 1$ 的砖块(他有无限多这样的砖块)。
Vova 只能将砖块水平放置在相邻且高度相等的墙段上。也就是说,如果对于某个 $i$,第 $i$ 段和第 $i+1$ 段的当前高度相同,那么 Vova 可以在这两个位置放置一块砖,从而使这两段的高度都增加 $1$。显然,Vova 不能把砖块放在墙的边界之外(不能放在第 $1$ 段的左边或第 $n$ 段的右边)。
注意,Vova 不能竖直放置砖块。
Vova 是个完美主义者,他认为墙完成的标准是:
- 墙的所有部分高度都相同;
- 墙内部没有空隙。
Vova 能否使用任意数量的砖块(可以为零)完成这堵墙?
输入格式
第一行包含一个整数 $n$($1 \le n \le 2 \times 10^5$),表示墙的段数。
第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le 10^9$),表示每段墙的初始高度。
输出格式
如果 Vova 能够使用任意数量的砖块(可以为零)完成这堵墙,输出 "YES"。
否则,输出 "NO"。
说明/提示
在第一个样例中,Vova 可以在第 $2$ 段和第 $3$ 段放一块砖,使墙变为 $[2, 2, 2, 2, 5]$,然后在第 $1$ 段和第 $2$ 段放 $3$ 块砖,在第 $3$ 段和第 $4$ 段放 $3$ 块砖,使其变为 $[5, 5, 5, 5, 5]$。
在第二个样例中,Vova 不需要在墙上放任何砖块。
在第三个样例中,墙已经是完成状态。
由 ChatGPT 4.1 翻译