結果
問題 | No.3076 Goodstuff Deck Builder |
ユーザー |
![]() |
提出日時 | 2025-03-28 23:19:43 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 13 ms / 3,000 ms |
コード長 | 559 bytes |
コンパイル時間 | 15,674 ms |
コンパイル使用メモリ | 400,436 KB |
実行使用メモリ | 7,324 KB |
最終ジャッジ日時 | 2025-03-28 23:20:03 |
合計ジャッジ時間 | 17,586 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 36 |
ソースコード
use proconio::input; fn main() { input! { n: usize, m: usize, mut cards: [(usize, usize); n] } cards.sort_unstable_by_key(|t| t.0); let mut dp = vec![-1isize; m + 1]; dp[0] = 0; for &(c, d) in &cards { let max = m.saturating_sub(c) / 2; for i in (0..=max).rev() { if dp[i] == -1 { continue; } let j = i * 2 + c; dp[j] = dp[j].max(dp[i] + d as isize); } } let ans = dp.iter().max().unwrap(); println!("{}", ans); }