結果
問題 |
No.258 回転寿司(2)
|
ユーザー |
![]() |
提出日時 | 2020-05-10 10:59:49 |
言語 | Crystal (1.14.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 386 bytes |
コンパイル時間 | 11,559 ms |
コンパイル使用メモリ | 295,412 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-06-30 20:08:43 |
合計ジャッジ時間 | 15,800 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 20 WA * 47 |
ソースコード
n = read_line.to_i a = read_line.split.map &.to_i dp = Array.new(n, 0) prev = Array.new(n, -1) n.times do |i| if i < 2 dp[i] = a[i] else pos = dp[0..(i-2)].each_with_index.max[1] dp[i] = dp[pos] + a[i] prev[i] = pos end end ans = [dp.each_with_index.max[1]] while prev[ans[-1]] != -1 ans << prev[ans[-1]] end puts dp[-1] puts ans.reverse.map(&.succ).join(' ')