问题 6505 --龙哥的121

6505: 龙哥的121★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 46  解决: 15
[提交][状态][命题人:]

题目描述

龙哥有一个由n个整数组成的数组a,元素的编号从1到n。在每次操作中,他可以任意选择第i个元素(2≤i≤n−1 ) 并进行如下的赋值操作:
  • a[i−1]=a[i−1]−1
  • a[i]=a[i]−2
  • a[i+1]=a[i+1]−1
对于任意第i个元素,龙哥可以不操作,也可以进行任意次操作。
现在请你帮忙计算一下,用这个运算能使数组中的所有元素都等于0吗?

输入

第一行包含一个整数T(1≤T≤10000),表示测试数据组数。
每组测试样例第一行为整数n (3≤n≤200000),表示数组长度。
第二行为n个整数a1,a2,...an(0≤ai≤1e9)。
测试数据保证所有n之和不超过200000。

输出

每组测试数据输出一行,若能使数组所有元素变成0,则输出YES;否则输出NO。
样例输入
Copy
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
样例输出
Copy
YES
NO
YES
NO
NO
NO
NO

提示

在第一组样例中,原数组为[1,3,5,5,2] ,要使所有元素为0 ,龙哥可以按如下方法操作:

在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] 。

来源

 

[提交][状态]