題解
由於a1的值只能透過對a2的操作進行消除,所以我們可以先根據a1的值迭代出a2,a3的值,然後此時的a2,只能透過a3的操作進行消除.....以此類推,如果其中發現有ai的值<0就輸出NO。
code
#include<bits/stdc++.h> using namespace std; const int N=2e5+5; int a[N]; int main(){ // freopen("input.txt","r",stdin); int t; cin>>t; while (t--){ int n; bool bol=true; cin>>n; for (int i=1;i<=n;i++) cin>>a[i]; for (int i=2;i<=n-1;i++){ a[i]-=2*a[i-1]; a[i+1]-=a[i-1]; if (a[i]<0 || a[i+1]<0){ bol=false; break; } } if (a[n-1]>0 || a[n]>0) bol=false; if (bol) cout<<"YES\n"; else cout<<"NO\n"; } return 0; }