CF2050B Transfusion

题目描述

现给定一个数组 $a$ 和 数组的长度 $n$。规定在一次操作中,你可以从 $2$ 到 $n-1$ 中选取任意一个数 $i$,完成下面的一个操作: - 令 $a_{i-1}$ 减 $1$,令 $a_{i+1}$ 加 $1$。 - 令 $a_{i-1}$ 加 $1$,令 $a_{i+1}$ 减 $1$。 **每次操作都要保证得到的数为非负数。** 在进行若干次操作后,能否使 $a$ 的每个数都相等?

输入格式

输入的第一行为一个整数 $t$ $(1≤t≤10^4)$ ,表示测试组数。 对于每组测试数据: 第一行 为一个整数 $n$ $(3≤n≤2 \times 10^5)$ 。 第二行 由 $n$ 个整数 $a_i$ $( 1≤ai≤10^9 )$ 构成。 保证所有测试组数的 $n$ 总和不会超过 $2 \times10^5$。

输出格式

对于每次测试,如果经过若干次操作后,$a$ 的每个数都相等,输出 `“YES”`(不包括引号),否则就输出 `“NO”`(不包括引号)。 输出不分大小写,也就意味着 `"yes"`, `"YeS"`, `"nO"` 等答案都会被认定为正确答案。