题解 | 元素方碑

元素方碑

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()

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务