結果
問題 |
No.115 遠足のおやつ
|
ユーザー |
![]() |
提出日時 | 2020-02-26 20:09:30 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 498 bytes |
コンパイル時間 | 64 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 20,608 KB |
最終ジャッジ日時 | 2024-10-13 15:29:04 |
合計ジャッジ時間 | 5,777 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 WA * 4 |
コンパイルメッセージ
Syntax OK
ソースコード
N, D, K = gets.split.map(&:to_i) dp = Array.new(N + 1){ Array.new(K + 1){ Array.new(D + 1, -1) } } dp[0][0][0] = 0 (1 .. N).each do |n| (1 .. K).each do |k| (1 .. D).each do |d| if d - n >= 0 && dp[n - 1][k - 1][d - n] >= 0 dp[n][k][d] = n else dp[n][k][d] = dp[n - 1][k][d] end end end end d = D i = dp[N][K][D] items = [] while i > 0 items << i d = d - i i = dp[i - 1][K - items.size][d] end puts items.empty? ? -1 : items.reverse.join(' ')