結果

問題 No.527 ナップサック容量問題
ユーザー TANIGUCHI Kousuke
提出日時 2017-07-14 12:58:47
言語 Ruby
(3.4.1)
結果
AC  
実行時間 515 ms / 2,000 ms
コード長 399 bytes
コンパイル時間 141 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,288 KB
最終ジャッジ日時 2024-10-07 20:44:07
合計ジャッジ時間 7,451 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 37
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

INF = 1 << 25
n = gets.to_i
ITEM = n.times.map{gets.split.map(&:to_i)}
V = gets.to_i + 1

dp = Array.new(V+2, INF)
dp[0] = 0
ITEM.each do |v,w|
    V.downto(0) do |i|
        if i < v && w < dp[i]
            dp[i] = w
        elsif i >= v && dp[i - v] + w < dp[i]
            dp[i] = dp[i - v] + w
        end
    end
end
puts dp[V-1] == 0 ? 1 : dp[V-1]
puts dp[V] < 10 ** 5 ? dp[V] - 1 : "inf"



0