結果
問題 | No.258 回転寿司(2) |
ユーザー |
![]() |
提出日時 | 2015-08-03 20:38:27 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 98 ms / 2,000 ms |
コード長 | 392 bytes |
コンパイル時間 | 96 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 13,696 KB |
最終ジャッジ日時 | 2024-11-06 18:50:18 |
合計ジャッジ時間 | 9,843 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 67 |
コンパイルメッセージ
Syntax OK
ソースコード
n = gets.to_i v = gets.split.map(&:to_i) dp = {} dp[0] = 0 dp[1] = v[0] stack = Hash.new do |h,k| h[k] = [] end stack[0] = [] stack[1] = [1] (2..n).each do |i| if dp[i-1] > v[i - 1] + dp[i - 2] dp[i] = dp[i-1] stack[i] = stack[i-1] + [] else dp[i] = v[i - 1] + dp[i - 2] stack[i] = stack[i-2] + [i] end end puts dp[n] puts stack[n].join(' ')