結果
| 問題 |
No.527 ナップサック容量問題
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-06-10 20:16:32 |
| 言語 | Ruby (3.4.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 356 bytes |
| コンパイル時間 | 48 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 97,648 KB |
| 最終ジャッジ日時 | 2024-09-24 15:45:28 |
| 合計ジャッジ時間 | 5,625 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 WA * 2 |
| other | AC * 1 WA * 2 TLE * 1 -- * 33 |
コンパイルメッセージ
Syntax OK
ソースコード
N = gets.to_i
VA, WA = N.times.map{ gets.split.take(2).map(&:to_i)}.sort.transpose
V = gets.to_i
$dp = {}
def f(w, i)
$dp[[w,i]] ||= if i <0
0
elsif w < WA[i]
f(w, i - 1)
else
[VA[i] + f(w - WA[i], i - 1), f(w, i - 1)].max
end
end
puts (1..WA.sum).bsearch{|i|
f(i, N-1) >= V
}
puts (1..WA.sum).bsearch{|i|
f(i, N-1) > V
} || :inf