結果

問題 No.2036 Max Middle
ユーザー lam6er
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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()
0