結果

問題 No.484 収穫
ユーザー lam6er
提出日時 2025-04-16 00:13:05
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 606 bytes
コンパイル時間 432 ms
コンパイル使用メモリ 82,136 KB
実行使用メモリ 62,796 KB
最終ジャッジ日時 2025-04-16 00:14:20
合計ジャッジ時間 2,176 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 10 WA * 11
権限があれば一括ダウンロードができます

ソースコード

diff #

n = int(input())
A = list(map(int, input().split()))

# Compute L: L[i] is the maximum time when reaching i-th cell (1-based) from left
L = [0] * (n + 1)
for i in range(1, n + 1):
    L[i] = max(L[i-1] + 1, A[i-1])

# Compute R: R[i] is the maximum time when reaching i-th cell (1-based) from right
R = [0] * (n + 2)
for i in range(n, 0, -1):
    R[i] = max(R[i+1] + 1, A[i-1])

min_time = float('inf')
for i in range(1, n + 1):
    left = L[i-1]
    right = R[i+1]
    current = max(left, right) + 1
    current = max(current, A[i-1])
    if current < min_time:
        min_time = current

print(min_time)
0