2 条题解
-
0
saki酱●█▀█▄saki酱●█▀█▄saki酱●█▀█▄
首先,整个数组的总和不随操作与否而变化,而如果最后所有元素可能可以相等的一个前提是:数组所有元素和是数组大小的某个正整数倍(x)。其次,一个元素操作后可能影响的其他元素的序号的奇偶性必定与它本身的序号奇偶性一致,所以将数组分为奇数序号部分和偶数序号部分分别取和判断是否为元素数量的x倍即可
参考代码(python)
from sys import stdin,setrecursionlimit from math import inf,ceil,sqrt from collections import Counter,deque def solve(): s1,s2=0,0 for i in range(n): if i&1: s1+=a[i] else: s2+=a[i] if s1==g*(n//2) and s2==g*ceil(n/2): print('YES') else: print('NO') for _ in range(int(stdin.readline())): n=int(stdin.readline()) a=[int(_) for _ in stdin.readline().split()] if sum(a)%n!=0: print('NO') continue g=sum(a)//n solve()
信息
- ID
- 1097
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 77
- 已通过
- 14
- 上传者