CF2050B.Transfusion

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Transfusion

题目描述

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

  • ai1a_{i-1}11,令 ai+1a_{i+1}11
  • ai1a_{i-1}11,令 ai+1a_{i+1}11

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

输入格式

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

对于每组测试数据:

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

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

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

输出格式

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

样例

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
YES
NO
YES
NO
YES
NO
NO
NO

在线编程 IDE

建议全屏模式获得最佳体验