思路
数据很小,直接暴力模拟。
有意思的是一个列表如何当成循环队列写?可以arr[(i+1)%n]
让他右边超出时自动回到开头。
code
import os
import sys
n = int(input())
arr = list(map(int,input().split()))
ans = 0
while 1:
arr1 = arr.copy()
for i in range(n):
arr1[i] = (arr[i] + arr[(i+1)%n])//2
if arr1[i] % 2 == 1:
arr1[i] += 1
ans += 1
arr = arr1.copy()
if len(set(arr)) == 1:break
print(ans)