PythonでJOI難易度5を埋める #18
1 - 電飾 (illumination)
考えたこと
交互列ごとに区切ると,番目の交互列に機械を使うと左右の交互列(だと片方)と必ず接続される.このことから,入力を交互列ごとに区切って,交互列のどれに機械を使えばよいかを判断すればよい.2つ以下の交互列にしか区切れない場合は必ずになる.
n = int(input()) lights = list(map(int, input().split())) check = [] now = lights[0] cnt = 1 for i in range(1, n): if lights[i] == now: check.append(cnt) cnt = 1 else: cnt += 1 now = lights[i] check.append(cnt) ans = check[0] if len(check) >= 3: for i in range(1, len(check) - 1): ans = max(check[i-1] + check[i] + check[i + 1], ans) else: ans = n print(ans)