結果
| 問題 |
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)
yuruhiya