結果

問題 No.3017 交互浴
コンテスト
ユーザー norioc
提出日時 2025-03-20 01:38:11
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 152 ms / 2,000 ms
コード長 448 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 395 ms
コンパイル使用メモリ 95,968 KB
実行使用メモリ 117,632 KB
最終ジャッジ日時 2026-07-07 06:49:33
合計ジャッジ時間 13,264 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 55
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

INF = 1 << 60
N = int(input())
H = list(map(int, input().split()))

st = [(INF, 0, 0)]
for i, h in enumerate(H):
    v = 1 if i % 2 == 0 else 0  # 0=緑色 1=水色

    while st[-1][0] <= h:
        st.pop()

    ph, pv, pt = st[-1]
    if pv == v:
        print(pt)
        continue

    w = st[-1][2]
    if st[-1][1] == 0:
        w += h * v
    elif st[-1][1] == 1:
        if v == 0:
            w -= h

    print(w)
    st.append((h, v, w))
0