CF1941B Rudolf and 121

题目描述

Rudolf 有一个长度为 $n$ 的整数数组 $a$,数组下标从 $1$ 到 $n$。 在一次操作中,他可以选择一个下标 $i$($2 \le i \le n - 1$),并进行如下赋值操作: - $a_{i - 1} = a_{i - 1} - 1$ - $a_i = a_i - 2$ - $a_{i + 1} = a_{i + 1} - 1$ Rudolf 可以任意多次应用该操作。任意下标 $i$ 可以被使用零次或多次。 他能否通过上述操作使数组的所有元素都变为零?

输入格式

输入的第一行包含一个整数 $t$($1 \le t \le 10^4$),表示测试用例的数量。 每个测试用例的第一行包含一个整数 $n$($3 \le n \le 2 \cdot 10^5$),表示数组的长度。 每个测试用例的第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($0 \le a_j \le 10^9$),表示数组的元素。 保证所有测试用例中 $n$ 的总和不超过 $2 \cdot 10^5$。

输出格式

对于每个测试用例,如果可以通过上述操作使数组的所有元素都变为零,输出 "YES";否则输出 "NO"。 你可以以任意大小写输出答案。例如,"yEs"、"yes"、"Yes" 和 "YES" 都会被判为正确答案。

说明/提示

在第一个示例中,原数组为 $[1, 3, 5, 5, 2]$,Rudolf 可以按如下方式操作使所有元素变为零: - 在 $i=4$ 处应用操作,得到数组 $[1, 3, 4, 3, 1]$; - 在 $i=3$ 处应用操作,得到数组 $[1, 2, 2, 2, 1]$; - 在 $i=2$ 处应用操作,得到数组 $[0, 0, 1, 2, 1]$; - 在 $i=4$ 处应用操作,得到数组 $[0, 0, 0, 0, 0]$。 由 ChatGPT 4.1 翻译