結果
問題 |
No.258 回転寿司(2)
|
ユーザー |
![]() |
提出日時 | 2015-08-04 19:50:26 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 100 ms / 2,000 ms |
コード長 | 383 bytes |
コンパイル時間 | 98 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 13,696 KB |
最終ジャッジ日時 | 2024-11-06 18:50:46 |
合計ジャッジ時間 | 9,899 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 67 |
コンパイルメッセージ
Syntax OK
ソースコード
n = gets.to_i v = gets.split.map(&:to_i) dp = Array.new(n+1) dp[0] = 0 dp[1] = v[0] stack = Array.new(n+1) 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(' ')