結果
| 問題 | No.258 回転寿司(2) |
| コンテスト | |
| ユーザー |
ayame_py
|
| 提出日時 | 2015-10-20 14:34:18 |
| 言語 | PyPy2 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 254 ms / 2,000 ms |
| コード長 | 479 bytes |
| 記録 | |
| コンパイル時間 | 238 ms |
| コンパイル使用メモリ | 77,844 KB |
| 最終ジャッジ日時 | 2025-12-03 17:39:24 |
|
ジャッジサーバーID (参考情報) |
judge3 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 67 |
ソースコード
import sys
N=input()
V=map(int,raw_input().split())
dp=[0 for _ in range(N)]
r=[[] for _ in range(N)]
if N == 1:
print V[0]
print 1
sys.exit()
dp[0]=V[0]
r[0]=[1]
if V[0] < V[1]:
dp[1] = V[1]
r[1] = [2]
else:
dp[1] = V[0]
r[1] = [1]
for i in range(2,N):
for j in range(0,i-1):
if dp[j]+V[i] > dp[i]:
dp[i]=dp[j]+V[i]
r[i]=list(r[j])
r[i].append(i+1)
if dp[i] < dp[i-1]:
dp[i]=dp[i-1]
r[i]=r[i-1]
print dp[N-1]
print ' '.join(map(str,r[N-1])).rstrip(' ')
ayame_py