311080: CF1931B. Make Equal

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

B. Make Equaltime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output

There are $n$ containers of water lined up, numbered from left to right from $1$ to $n$. Each container can hold any amount of water; initially, the $i$-th container contains $a_i$ units of water. The sum of $a_i$ is divisible by $n$.

You can apply the following operation any (possibly zero) number of times: pour any amount of water from the $i$-th container to the $j$-th container, where $i$ must be less than $j$ (i.e. $i<j$). Any index can be chosen as $i$ or $j$ any number of times.

Determine whether it is possible to make the amount of water in all containers the same using this operation.

Input

The first line of the input contains a single integer $t$ ($1 \le t \le 10^4$) — the number of test cases. Then the descriptions of the test cases follow.

The first line of each test case contains a single integer $n$ ($1 \le n \le 2 \cdot 10^5$) — the number of containers with water.

The second line of each test case contains $n$ integers $a_1, a_2, \dots, a_n$ ($0 \le a_i \le 10^9$) — the amounts of water in the containers. It is guaranteed that the sum of $a_i$ in each test case does not exceed $2 \cdot 10^9$. Also, the sum of $a_i$ is divisible by $n$.

It is guaranteed that the sum of $n$ over all test cases in the input does not exceed $2 \cdot 10^5$.

Output

Output $t$ lines, each of which is the answer to the corresponding test case. As the answer, output "YES" if it is possible to make the amount of water in all containers the same using the described operation. Otherwise, output "NO".

You can output each letter in any case (lowercase or uppercase). For example, the strings "yEs", "yes", "Yes", and "YES" will be accepted as a positive answer.

ExampleInput
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
Output
YES
NO
YES
NO
NO
YES
Note

In the third test case of the example ($a=[4, 5, 2, 1, 3]$), you can proceed as follows:

  • pour $1$ unit of water from the first vessel to the fourth, then $a=[3, 5, 2, 2, 3]$;
  • pour $1$ unit of water from the second vessel to the third, then $a=[3, 4, 3, 2, 3]$;
  • pour $1$ unit of water from the second vessel to the fourth, then $a=[3, 3, 3, 3, 3]$.

Output

题目大意:
这是一道关于分配水容器水量的题目。有n个按照从左到右编号为1到n的水容器,每个容器可以容纳任意量的水;初始时,第i个容器包含a_i单位的水。a_i的总和能被n整除。你可以进行任意次数(可能为零)的操作:从第i个容器倒任意量的水到第j个容器,其中i必须小于j(即i
输入数据格式:
输入的第一行包含一个整数t(1≤t≤10^4)——测试用例的数量。然后是测试用例的描述。
每个测试用例的第一行包含一个整数n(1≤n≤2×10^5)——带水容器的数量。
每个测试用例的第二行包含n个整数a_1, a_2, …, a_n(0≤a_i≤10^9)——容器中的水量。每个测试用例中a_i的总和不超过2×10^9。同时,a_i的总和能被n整除。
所有测试用例中n的总和不超过2×10^5。

输出数据格式:
输出t行,每行是对应测试用例的答案。如果可以通过描述的操作使所有容器中的水量相同,则输出"YES"。否则,输出"NO"。
输出每个字母时可以使用任何大小写。例如,"yEs"、"yes"、"Yes"和"YES"都将被接受为肯定答案。题目大意: 这是一道关于分配水容器水量的题目。有n个按照从左到右编号为1到n的水容器,每个容器可以容纳任意量的水;初始时,第i个容器包含a_i单位的水。a_i的总和能被n整除。你可以进行任意次数(可能为零)的操作:从第i个容器倒任意量的水到第j个容器,其中i必须小于j(即i

加入题单

上一题 下一题 算法标签: