#P1941B. Rudolf and 121
Rudolf and 121
Description
Rudolf有一个长度为n的数组a
在一次操作中,他可以选择一个索引i(2≤i≤n−1)并赋值:
- a[i−1]=a[i−1]−1
- a[i]=a[i]−2
- a[i+1]=a[i+1]−1
Rudolf可以任意次数地应用此操作。任何索引ii可以被使用零次或多次。
他能使用这个操作使数组的所有元素都变成零吗?
输入
输入的第一行包含一个整数t(1≤t≤1e4) — 测试中的测试用例数量。
每个测试用例的第一行包含一个整数n(3≤n≤2e5) — 数组中元素的数量。
每个测试用例的第二行包含n个整数a1,a2,…,an(0≤aj≤10^9) — 数组的元素。
保证所有测试用例中n的值的总和不超过2e5。
输出
对于每个测试用例,如果可以使用描述的操作使数组的所有元素变成零,则输出"YES"。否则,输出"NO"。
你可以以任何大小写形式输出每个字母。例如,字符串"yEs", "yes", "Yes", 和"YES"都会被接受为肯定答案。
7
5
1 3 5 5 2
5
2 4 4 5 1
5
0 1 3 3 1
6
5 6 0 2 3 0
4
1 2 7 2
3
7 1 0
4
1 1 1 1
YES
NO
YES
NO
NO
NO
NO
注意
在第一个示例中,原始数组是**[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]**。
相关
在下列比赛中: