結果
問題 | No.484 収穫 |
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
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)