結果

問題 No.842 初詣
ユーザー tomie_t6
提出日時 2020-12-27 01:35:23
言語 Ruby
(3.4.1)
結果
AC  
実行時間 90 ms / 2,000 ms
コード長 364 bytes
コンパイル時間 342 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,288 KB
最終ジャッジ日時 2024-09-25 05:25:29
合計ジャッジ時間 2,824 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 21
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

ary = gets.split.map(&:to_i)
price = [500, 100, 50, 10, 5, 1]
g = ary[6]
dp = Array.new(g + 1, -1)
dp[0] = 0

6.times do |i|
  (g + 1).times do |j|
    if dp[j] >= 0
      dp[j] = ary[i]
    elsif j < price[i] || dp[j - price[i]] <= 0
      dp[j] = -1
    else
      dp[j] = dp[j - price[i]] - 1
    end
  end
end


if dp[g] >= 0
  puts "YES"
else
  puts "NO"
end
0