結果
問題 |
No.2036 Max Middle
|
ユーザー |
![]() |
提出日時 | 2025-03-20 20:37:11 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 737 bytes |
コンパイル時間 | 658 ms |
コンパイル使用メモリ | 82,356 KB |
実行使用メモリ | 54,876 KB |
最終ジャッジ日時 | 2025-03-20 20:38:01 |
合計ジャッジ時間 | 5,521 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 4 TLE * 1 -- * 12 |
ソースコード
import sys from collections import deque def main(): N, *rest = map(int, sys.stdin.read().split()) A = rest[:N] q = deque() for i in range(N-2): if A[i] < A[i+1] and A[i+1] > A[i+2]: q.append(i) ans = 0 while q: i = q.popleft() if i < 0 or i > N-3: continue if not (A[i] < A[i+1] and A[i+1] > A[i+2]): continue min_val = min(A[i], A[i+2]) new_val = min_val - 1 A[i+1] = new_val ans += 1 for delta in (-1, 1): j = i + delta if 0 <= j <= N-3: if A[j] < A[j+1] and A[j+1] > A[j+2]: q.append(j) print(ans) if __name__ == "__main__": main()