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 翻译