結果
| 問題 |
No.484 収穫
|
| コンテスト | |
| ユーザー |
lam6er
|
| 提出日時 | 2025-04-16 16:22:59 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 606 bytes |
| コンパイル時間 | 149 ms |
| コンパイル使用メモリ | 82,456 KB |
| 実行使用メモリ | 63,228 KB |
| 最終ジャッジ日時 | 2025-04-16 16:24:09 |
| 合計ジャッジ時間 | 1,794 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 10 WA * 11 |
ソースコード
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)
lam6er