結果

問題 No.1858 Gorgeous Knapsack
ユーザー simansiman
提出日時 2022-02-27 20:03:44
言語 Ruby
(3.4.1)
結果
TLE  
実行時間 -
コード長 407 bytes
コンパイル時間 40 ms
コンパイル使用メモリ 7,296 KB
実行使用メモリ 213,120 KB
最終ジャッジ日時 2024-07-05 19:23:59
合計ジャッジ時間 9,132 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 28 TLE * 3 -- * 6
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

N, M = gets.split.map(&:to_i)
J = N.times.map { gets.split.map(&:to_i) }
J.sort_by! { |v, w| -v }

dp = Array.new(N + 1) { Array.new(M + 1, 0) }
ans = 0

J.each_with_index do |(v, w), i|
  M.downto(0) do |j|
    dp[i + 1][j] = dp[i][j]
    nw = j + w
    nv = dp[i][j] + v
    next if nw > M

    if dp[i + 1][nw] < nv
      dp[i + 1][nw] = nv
      ans = nv * v if ans < nv * v
    end
  end
end

puts ans
0