ABC099C Strange Bank

https://beta.atcoder.jp/contests/abc099/submissions/2658117

個数制限なしナップザックの類問

i番目までの取り出し方を使ってj円引き出す時の一番少ない回数をdp[i][j]とすると

if (j < v[i])dp[i + 1][j] = dp[i][j];
else dp[i + 1][j] = min(dp[i][j], 1 + dp[i + 1][j - v[i]]);

で更新が出来るのでオーダーはO(N*v.size())

解説は上手く全探索に持ち込んでで賢いなという感じ