結果

問題 No.258 回転寿司(2)
ユーザー yaoshimaxyaoshimax
提出日時 2016-05-08 14:37:45
言語 Python2
(2.7.18)
結果
AC  
実行時間 28 ms / 2,000 ms
コード長 462 bytes
コンパイル時間 77 ms
コンパイル使用メモリ 6,912 KB
実行使用メモリ 11,264 KB
最終ジャッジ日時 2024-11-06 19:02:07
合計ジャッジ時間 4,418 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 67
権限があれば一括ダウンロードができます

ソースコード

diff #

N=int(raw_input())
V=map(int,raw_input().split())
dp=[[(0,[]) for i in range(2)] for k in range(N+1)]
for i in range(1,N+1):
    v=V[i-1]
    dp[i][1]=(dp[i-1][0][0]+v,list(dp[i-1][0][1]))
    dp[i][1][1].append(i)

    dp[i][0]=(dp[i-1][0][0],list(dp[i-1][0][1]))
    if dp[i-1][1][0] > dp[i-1][0][0]:
        dp[i][0]=(dp[i-1][1][0],list(dp[i-1][1][1]))

ans = dp[N][0]
if dp[N][1][0]>dp[N][0][0]:
    ans=dp[N][1]
print ans[0]
print " ".join(map(str,ans[1]))
0