AT_arc185_b [ARC185B] +1 and -1

题目描述

有一个长度为 $N$ 的整数序列 $A = (A_1, A_2, \dots, A_N)$。 你可以进行如下操作任意次(包括 $0$ 次): - 选择满足 $1 \leq i < j \leq N$ 的整数对 $(i, j)$,将 $A_i$ 替换为 $A_i + 1$,将 $A_j$ 替换为 $A_j - 1$。 请判断是否可以通过若干次操作将 $A$ 变为广义单调递增的序列(即 $A_1 \leq A_2 \leq \dots \leq A_N$)。 给定 $T$ 组测试数据,请分别输出每组的答案。

输入格式

输入按以下格式从标准输入读入。这里 $\mathrm{case}_i$ 表示第 $i$ 个测试用例。 > $T$ > $\mathrm{case}_1$ > $\mathrm{case}_2$ > $\vdots$ > $\mathrm{case}_T$ 每个测试用例的格式如下: > $N$ $A_1$ $A_2$ $\dots$ $A_N$

输出格式

输出 $T$ 行。第 $i$ 行输出第 $i$ 个测试用例的答案。 对于每个测试用例,如果可以通过操作将 $A$ 变为广义单调递增的序列,输出 `Yes`,否则输出 `No`。

说明/提示

### 限制条件 - $1 \leq T \leq 2 \times 10^5$ - $2 \leq N \leq 2 \times 10^5$ - $0 \leq A_i \leq 10^9$ - 所有测试用例中 $N$ 的总和不超过 $2 \times 10^5$ - 输入的所有数均为整数 ### 样例说明 1 对于第 $1$ 个测试用例,可以如下操作将 $A$ 变为广义单调递增的序列: - 选择 $(i, j) = (1, 2)$。操作后 $A$ 变为 $(2, 6, 5)$。 - 再次选择 $(i, j) = (1, 2)$。操作后 $A$ 变为 $(3, 5, 5)$。 对于第 $2$ 个测试用例,无论如何操作,都无法将 $A$ 变为广义单调递增的序列。 由 ChatGPT 4.1 翻译