CF1931B.Make Equal

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

Make Equal

题目描述

nn 个水容器排成一排,从左到右编号为 11nn。每个容器可以装任意数量的水,初始时第 ii 个容器中有 aia_i 单位的水。已知所有 aia_i 的和能被 nn 整除。

你可以进行如下操作任意次(也可以不做):从第 ii 个容器向第 jj 个容器倒任意数量的水,其中 ii 必须小于 jj(即 i<ji<j)。每个下标 iijj 可以被多次选择。

请判断是否可以通过上述操作使所有容器中的水量都相等。

输入格式

输入的第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n2×1051 \le n \le 2 \times 10^5),表示水容器的数量。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n0ai1090 \le a_i \le 10^9),表示每个容器中的水量。保证每个测试用例中所有 aia_i 的和不超过 2×1092 \times 10^9,且所有 aia_i 的和能被 nn 整除。

保证所有测试用例中 nn 的总和不超过 2×1052 \times 10^5

输出格式

输出 tt 行,每行对应一个测试用例的答案。如果可以通过操作使所有容器中的水量相等,输出 "YES";否则输出 "NO"。

你可以用任意大小写输出答案。例如 "yEs"、"yes"、"Yes"、"YES" 都会被判为正确答案。

说明/提示

在示例的第三个测试用例(a=[4,5,2,1,3]a=[4, 5, 2, 1, 3])中,可以按如下方式操作:

  • 从第一个容器向第四个容器倒 1 单位水,此时 a=[3,5,2,2,3]a=[3, 5, 2, 2, 3]
  • 从第二个容器向第三个容器倒 1 单位水,此时 a=[3,4,3,2,3]a=[3, 4, 3, 2, 3]
  • 从第二个容器向第四个容器倒 1 单位水,此时 a=[3,3,3,3,3]a=[3, 3, 3, 3, 3]

由 ChatGPT 4.1 翻译

样例

6
1
43
2
1 3
5
4 5 2 1 3
3
1 2 3
7
4 5 5 0 6 4 4
7
6 5 5 1 3 4 4
YES
NO
YES
NO
NO
YES

在线编程 IDE

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