CF2026B Black Cells 题解
解题思路
基本观察:
要使
策略:
计算最小的
代码:
import sys
INF = 10**18
def solve():
n = int(input())
a = list(map(int, input().split()))
if n == 1:
print(1) #因为n==1时,只有一个数据,直接输出。
elif n % 2 == 1:
ans = INF
for i in range(1, n + 1, 2):
mx = 0
for j in range(1, i, 2):
mxx = max(mxx, a[j] - a[j - 1])
for j in range(i + 1, n, 2):
mxx = max(mxx, a[j] - a[j - 1])
ans = min(ans, mxx)
print(max(1, ans))
else:
mxx = 0
for i in range(1, n, 2):
mxx = max(mxx, a[i] - a[i - 1])
print(mxx)
def main():
T = int(input())
for _ in range(T):
solve()
if __name__ == "__main__":
main()