結果
問題 | No.3014 岩井満足性問題 |
ユーザー |
|
提出日時 | 2025-01-25 13:28:53 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 306 ms / 3,000 ms |
コード長 | 755 bytes |
コンパイル時間 | 29,010 ms |
コンパイル使用メモリ | 380,060 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2025-01-25 22:48:34 |
合計ジャッジ時間 | 14,808 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge7 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 18 |
ソースコード
#![allow(non_snake_case)] use proconio::input; const INF: i64 = 1_000_000_000_000_000_000; fn main() { input! { N: usize, D: usize, K: usize, A: [i64; N], C: [usize; N], } let mut dp = vec![vec![-INF * 2; K + 1]; D + 1]; dp[0][0] = 0; for i in 0 .. N { for count in (0 .. D).rev() { for beauty in (0 ..= K).rev() { let count_next = count + 1; let beauty_next = K.min(beauty + C[i]); let sat = dp[count_next][beauty_next].max(dp[count][beauty] + A[i]); dp[count_next][beauty_next] = sat; } } } if dp[D][K] >= -INF { println!("{}", dp[D][K]); } else { println!("No"); } }