1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <stdio.h> int coin[105] = { 0 }; long long dp[10005] = { 0 }; int main() { int n, k; scanf("%d %d", &n, &k); for (int i = 1; i <= n; i++) { scanf("%d", &coin[i]); } dp[0] = 1; for (int i = 1; i <= n; i++) { for (int j = coin[i]; j <= k; j++ ) { dp[j] += dp[j - coin[i]]; } } printf("%lld", dp[k]); } | cs |
'알고리즘 > DP' 카테고리의 다른 글
11051 이항계수2 (0) | 2019.07.07 |
---|---|
11722 가장 긴 감소하는 부분 (0) | 2019.07.07 |
11048 이동하기 (0) | 2019.07.06 |
6359 만취한 상범 (0) | 2019.07.06 |
9507 Generations of Tribbles (0) | 2019.07.06 |