結果
問題 | No.3077 Goodstuff Deck Builder(Hard) |
ユーザー |
![]() |
提出日時 | 2025-03-28 23:46:11 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 175 ms / 3,000 ms |
コード長 | 559 bytes |
コンパイル時間 | 12,283 ms |
コンパイル使用メモリ | 404,908 KB |
実行使用メモリ | 80,084 KB |
最終ジャッジ日時 | 2025-03-28 23:46:41 |
合計ジャッジ時間 | 17,063 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 57 |
ソースコード
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); }