aizu_online_judge/dpl/dpl_1_a.rs
1use competitive::prelude::*;
2
3#[verify::aizu_online_judge("DPL_1_A")]
4pub fn dpl_1_a(reader: impl Read, writer: impl Write) {
5 prepare_io!(reader, writer);
6 sc!(n, m, c: [usize; iter m]);
7 let mut dp = vec![usize::MAX; n + 1];
8 dp[0] = 0;
9 for c in c {
10 for i in c..=n {
11 dp[i] = (dp[i - c] + 1).min(dp[i]);
12 }
13 }
14 pp!(dp[n]);
15}