最简单的一集,注意到i永远无法和i+1,i-1发生互动,分别处理偶位和奇位的数字和,判断是否和整体均值相等即可
#include<iostream>
#include<vector>
using namespace std;
#define vt vector
#define int long long
#define endl "\n"
#define pb push_back
signed main() {
int t;cin >> t;
while (t--) {int n;cin >> n;vt<int> a(n + 1);
int sum = 0;
int num_0 = 0;
int num_1 = 0;
for (int i = 1; i <= n; i++) {
cin >> a[i];
sum += a[i];
if (i % 2 == 0) num_0 += a[i];
else num_1 += a[i];
}
if (sum % n != 0) {
cout << "NO" << endl;
continue;
}
int to = sum / n;
int evenCnt = n / 2;
int oddCnt = (n + 1) / 2;
if (num_0 == to * evenCnt && num_1 == to * oddCnt) {
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
}

京公网安备 11010502036488号