D. Ian and Array Sorting
To thank Ian, Mary gifted an array a a a of length n n n to Ian. To make himself look smart, he wants to make the array in non-decreasing order by doing the following finitely many times: he chooses two adjacent elements a i a_i ai and a i + 1 a_{i+1} ai+1 ( 1 ≤ i ≤ n − 1 1\le i\le n-1 1≤i≤n−1), and increases both of them by 1 1 1 or decreases both of them by 1 1 1. Note that, the elements of the array can become negative.
As a smart person, you notice that, there are some arrays such that Ian cannot make it become non-decreasing order! Therefore, you decide to write a program to determine if it is possible to make the array in non-decreasing order.
Input
The first line contains a single integer t t t ( 1 ≤ t ≤ 1 0 4 1 \leq t \leq 10^4 1≤t≤104) — the number of test cases. The description of test cases follows.
The first line of each test case consists of a single integer n n n ( 2 ≤ n ≤ 3 ⋅ 1 0 5 2\le n\le 3\cdot10^5 2≤n≤3⋅105) — the number of elements in the array.
The second line of each test case contains n n n integers a 1 , a 2 , … , a n a_1,a_2,\ldots,a_n a1,a2,…,an ( 1 ≤ a i ≤ 1 0 9 1\le a_i\le 10^9 1≤ai≤109) — the elements of the array a a a.
It is guaranteed that the sum of n n n over all test cases does not exceed 3 ⋅ 1 0 5 3\cdot10^5 3⋅105.
Output
For each test case, output “YES” if there exists a sequence of operations which make the array non-decreasing, else output “NO”.
You may print each letter in any case (for example, “YES”, “Yes”, “yes”, “yEs” will all be recognized as positive answer).
Example
Input
5
3
1 3 2
2
2 1
4
1 3 5 7
4
2 1 4 3
5
5 4 3 2 1
Output
YES
NO
YES
NO
YES
Note
For the first test case, we can increase a 2 a_2 a2 and a 3 a_3 a3 both by 1 1 1. The array is now [ 1 , 4 , 3 ] [1, 4, 3] [1,4,3].
Then we can decrease a 1 a_1 a1 and a 2 a_2 a2 both by 1 1 1. The array is now [ 0 , 3 , 3 ] [0, 3, 3] [0,3,3], which is sorted in non-decreasing order. So the answer is “YES”.
For the second test case, no matter how Ian perform the operations, a 1 a_1 a1 will always be larger than a 2 a_2 a2. So the answer is “NO” and Ian cannot pretend to be smart.
For the third test case, the array is already in non-decreasing order, so Ian does not need to do anything.
code
#include<bits/stdc++.h>
#define int long long
#define endl '\n'using namespace std;const int N = 2e5+10,INF=0x3f3f3f3f,mod=1e9+7;typedef pair<int,int> PII;int T=1;void solve(){int n;cin>>n;vector<int> a(n+5,0);for(int i=0;i<n;i++) cin>>a[i];int sum=0; for(int i=0;i<n;i++){if(i%2) sum+=a[i];else sum-=a[i];}if(n&1 || sum>=0) cout<<"YES"<<endl;else cout<<"NO"<<endl;
}signed main(){cin>>T; while(T--){solve();}return 0;
}