CF2050B.Transfusion

普及-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

现给定一个数组 aa 和 数组的长度 nn。规定在一次操作中,你可以从 22 到 n−1n-1 中选取任意一个数 ii,完成下面的一个操作:

  • 令 ai−1a_{i-1} 减 11,令 ai+1a_{i+1} 加 11。
  • 令 ai−1a_{i-1} 加 11,令 ai+1a_{i+1} 减 11。

每次操作都要保证得到的数为非负数。
在进行若干次操作后,能否使 aa 的每个数都相等?

输入格式

输入的第一行为一个整数 tt (1≤t≤104)(1≤t≤10^4) ,表示测试组数。

对于每组测试数据:

第一行 为一个整数 nn (3≤n≤2×105)(3≤n≤2 \times 10^5) 。

第二行 由 nn 个整数 aia_i (1≤ai≤109)( 1≤ai≤10^9 ) 构成。

保证所有测试组数的 nn 总和不会超过 2×1052 \times10^5。

输出格式

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

输入输出样例

  • 输入#1

    8
    3
    3 2 1
    3
    1 1 3
    4
    1 2 5 4
    4
    1 6 6 1
    5
    6 2 1 4 2
    4
    1 4 2 1
    5
    3 1 2 1 3
    3
    2 4 2

    输出#1

    YES
    NO
    YES
    NO
    YES
    NO
    NO
    NO

输入解题思路,AI测评打分。不知道怎么写?

首页