题解 | 元素方碑
元素方碑
https://www.nowcoder.com/practice/5c6e7ed4726e41f4ac99a4dedf1e5bb2
经典Python读入有问题,只能写快读
from sys import stdin
from collections import *
from heapq import *
from random import *
input = lambda: stdin.readline().strip()
read1 = stdin.read().split()
idx = 1
for _ in range(int(read1[0])):
n = int(read1[idx]);idx+=1
l0 = [int(read1[idx+i]) for i in range(0,n,2)]
l1 = [int(read1[idx+i]) for i in range(1,n,2)]
idx += n
if n == 1:
print("YES")
continue
len0,len1 = len(l0),len(l1)
sum0,sum1 = sum(l0),sum(l1)
def main():
if sum0 == len0 * (sum0 // len0):
ave0 = sum0 // len0
else:
return "NO"
if sum1 == len1 * (sum1 // len1):
ave1 = sum1 // len1
else:
return "NO"
if ave0 != ave1:
return "NO"
for i in range(len0-1):
dif = ave0 - l0[i]
l0[i+1] -= dif
if l0[i+1] < 0:
return "NO"
for i in range(len1-1):
dif = ave1 - l1[i]
l1[i+1] -= dif
if l1[i+1] < 0:
return "NO"
return "YES"
print(main())

查看9道真题和解析