結果
| 問題 | No.3683 サーバー代がもったいない! |
| コンテスト | |
| ユーザー |
lp_ql
|
| 提出日時 | 2026-07-11 13:47:37 |
| 言語 | Rust (1.97.1 + proconio + num + itertools + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 168 ms / 2,000 ms |
| + 721µs | |
| コード長 | 688 bytes |
| 記録 | |
| コンパイル時間 | 3,898 ms |
| コンパイル使用メモリ | 191,384 KB |
| 実行使用メモリ | 7,716 KB |
| 最終ジャッジ日時 | 2026-09-05 12:37:39 |
| 合計ジャッジ時間 | 5,624 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 27 |
ソースコード
use proconio::input;
fn main() {
input! {
n: usize,
k: usize,
a: [i64; n],
}
let mut dp = vec![vec![-1 << 60; 2]; k + 1];
dp[0][0] = 0;
// 0 unused 1 used
for a in a {
let mut ndp = vec![vec![-1 << 60; 2]; k + 1];
for j in (0..=k).rev() {
ndp[j][0] = dp[j][0].max(dp[j][1]);
ndp[j][1] = dp[j][1];
if j < k && dp[j][0] != - 1 << 60 {
ndp[j + 1][1] = ndp[j + 1][1].max(dp[j][0] + a);
}
}
dp = ndp;
}
let ans = dp[k][0].max(dp[k][1]);
if ans == -1 << 60 {
println!("Impossible");
return;
}
println!("{ans}");
}
lp_ql