結果

問題 No.258 回転寿司(2)
コンテスト
ユーザー lam6er
提出日時 2025-03-20 20:22:44
言語 PyPy3
(7.3.17)
結果
AC  
実行時間 44 ms / 2,000 ms
コード長 394 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 310 ms
コンパイル使用メモリ 82,948 KB
実行使用メモリ 54,612 KB
最終ジャッジ日時 2026-01-25 17:09:34
合計ジャッジ時間 15,879 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 67
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

n = int(input())
v = list(map(int, input().split()))

dp = [0] * (n + 1)
if n >= 1:
    dp[1] = v[0]

for i in range(2, n + 1):
    dp[i] = max(dp[i-1], dp[i-2] + v[i-1])

selected = []
i = n
while i > 0:
    if dp[i] == dp[i-1]:
        i -= 1
    else:
        selected.append(i-1)
        i -= 2

selected = sorted([x + 1 for x in selected])

print(dp[n])
print(' '.join(map(str, selected)))
0