結果
問題 | No.1583 Building Blocks |
ユーザー | yuruhiya |
提出日時 | 2021-07-02 22:28:11 |
言語 | Crystal (1.14.0) |
結果 |
AC
|
実行時間 | 9 ms / 2,000 ms |
コード長 | 357 bytes |
コンパイル時間 | 14,347 ms |
コンパイル使用メモリ | 296,332 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-14 02:48:06 |
合計ジャッジ時間 | 15,898 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 43 |
ソースコード
n = read_line.to_i ab = Array.new(n) { {Int64, Int64}.from read_line.split.map(&.to_i64) }.sort_by { |a, b| a + b } dp = [nil.as(Int64?)] * -~n dp[0] = 0 ab.each do |a, b| dp2 = dp.dup (0...n).each do |i| if (val = dp[i]) && val <= b dp2[i + 1] = {dp2[i + 1] || 10i64**18, val + a}.min end end dp = dp2 end puts dp.rindex(&.itself)