2023-04-20 Typical DP Contest A を解いた
- コンテスト (AtCoder Typical DP Contest A問題)
https://atcoder.jp/contests/tdpc/tasks/tdpc_contest
- https://atcoder.jp/contests/tdpc/submissions/40788672
1 <= p_i <= 100
をN <= 100
個なのですべて 100 でも10000
にしかならない- p_i についてひとつ前まででできる合計に p_i を加えたもの・加えないものをそれぞれ確認しても
1_000_000
程度なので間に合う
use proconio::input;
fn main() {
input! {
n: usize,
p: [usize; n],
}
let mut dp = vec![false; 100 * 100 + 1];
dp[0] = true;
for p_i in p {
let mut next = vec![false; 100 * 100 + 1];
for j in 0..dp.len() {
if !dp[j] {
continue;
}
next[j + p_i] = true;
next[j] = true;
}
dp = next;
}
let ans = dp.into_iter().filter(|b| *b).count();
println!("{}", ans);
}
今日のコミット。
- tsukota 1 commit
- rust-atcoder 1 commit