308155: CF1474D. Cleaning

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Cleaning

题意翻译

你有一个长度为 $n$ 的数组 $a$。 现在要进行一些操作将数组的所有元素清除: - 选定两个**下标连续**的数,若两个数均不为 $0$,则将两个数均减 $1$。 在此之前,你可以使用**一次**超能力(可以不使用):任选两个**下标连续**的数并交换。 编写程序,判断是否可以清空 $a$ 数组。

题目描述

During cleaning the coast, Alice found $ n $ piles of stones. The $ i $ -th pile has $ a_i $ stones. Piles $ i $ and $ i + 1 $ are neighbouring for all $ 1 \leq i \leq n - 1 $ . If pile $ i $ becomes empty, piles $ i - 1 $ and $ i + 1 $ doesn't become neighbouring. Alice is too lazy to remove these stones, so she asked you to take this duty. She allowed you to do only the following operation: - Select two neighboring piles and, if both of them are not empty, remove one stone from each of them. Alice understands that sometimes it's impossible to remove all stones with the given operation, so she allowed you to use the following superability: - Before the start of cleaning, you can select two neighboring piles and swap them. Determine, if it is possible to remove all stones using the superability not more than once.

输入输出格式

输入格式


The first line contains a single integer $ t $ ( $ 1 \leq t \leq 10^4 $ ) — the number of test cases. The first line of each test case contains the single integer $ n $ ( $ 2 \leq n \leq 2 \cdot 10^5 $ ) — the number of piles. The second line of each test case contains $ n $ integers $ a_1, a_2, \dots, a_n $ ( $ 1 \leq a_i \leq 10^9 $ ) — the number of stones in each pile. It is guaranteed that the total sum of $ n $ over all test cases doesn't exceed $ 2 \cdot 10^5 $ .

输出格式


For each test case, print YES or NO — is it possible to remove all stones using the superability not more than once or not.

输入输出样例

输入样例 #1

5
3
1 2 1
3
1 1 2
5
2 2 2 1 3
5
2100 1900 1600 3000 1600
2
2443 2445

输出样例 #1

YES
YES
YES
YES
NO

说明

In the first test case, you can remove all stones without using a superability: $ [1, 2, 1] \rightarrow [1, 1, 0] \rightarrow [0, 0, 0] $ . In the second test case, you can apply superability to the second and the third piles and then act like in the first testcase. In the third test case, you can apply superability to the fourth and the fifth piles, thus getting $ a = [2, 2, 2, 3, 1] $ . In the fourth test case, you can apply superability to the first and the second piles, thus getting $ a = [1900, 2100, 1600, 3000, 1600] $ .

Input

题意翻译

你有一个长度为 $n$ 的数组 $a$。 现在要进行一些操作将数组的所有元素清除: - 选定两个**下标连续**的数,若两个数均不为 $0$,则将两个数均减 $1$。 在此之前,你可以使用**一次**超能力(可以不使用):任选两个**下标连续**的数并交换。 编写程序,判断是否可以清空 $a$ 数组。

加入题单

算法标签: