根据题目,能量是奇数格子与偶数格子之间互相传播的,且守恒。设总能量为E, 有n个格子,奇数格的能量加起来有E_j,偶数格的能量加起来有E_o,只需要分别计算奇数格和偶数格的平均能量,如果都为E/n(上述计算平均数时能整除是最基本要求)即满足题目要求。

#include <bits/stdc++.h>
using namespace std;

int getSum(int nums[], int size, int startIdx, int step) {
    int sum = 0;
    for (int i = startIdx; i < size; i += step) {
        sum += nums[i];
    }
    return sum;
}

int main() {
    int t, s;
    cin >> t;
    int nums[200005];
    while (t--) {
        cin >> s;
        
        for (int i = 0; i < s; ++i) {
            cin >> nums[i];
        }
        if (s == 1) {
            cout << "YES" << endl;
            continue;
        }
        int allSum = getSum(nums, s, 0, 1);
        if (allSum % s != 0) {
            cout << "NO" << endl;
            continue;
        }
        int avg = allSum / s;
        int js, os, jSum, oSum;
        js = s & 1 ? s / 2 + 1 : s / 2;
        os = s / 2;
        jSum = getSum(nums, s, 0, 2);
        oSum = getSum(nums, s, 1, 2);
        if (jSum % js != 0 || oSum % os != 0 || jSum / js != avg || oSum / os != avg) {
            cout << "NO" << endl;
            continue;
        }
        cout << "YES" << endl;
    }

}