题解 | 元素方碑
元素方碑
https://www.nowcoder.com/practice/5c6e7ed4726e41f4ac99a4dedf1e5bb2
import sys
# for line in sys.stdin:
# a = line.split()
# print(int(a[0]) + int(a[1]))
def solve():
n = int(input())
nums = list(map(int, input().split()))
if sum(nums) % n != 0:
print("NO")
return
target = sum(nums) // n
for i in range(1, n - 1):
if nums[i - 1] == target:
continue
if nums[i - 1] > target:
dis = abs(target - nums[i - 1])
nums[i - 1] -= dis
nums[i + 1] += dis
if nums[i - 1] < target:
dis = abs(target - nums[i - 1])
nums[i - 1] += dis
nums[i + 1] -= dis
# print(nums)
if all(x == target for x in nums):
print("YES")
else:
print("NO")
if __name__ == "__main__":
n = int(input())
for _ in range(n):
solve()
查看9道真题和解析