ν°μ€ν 리 λ·°
λ¬Έμ
λ¬Έμ νμ΄
λ€λ₯Έ κ°μΉλ₯Ό κ°μ§ λμ μ΄ μ£Όμ΄μ§ λ, ν΄λΉ λμ λ€μ ν©μΌλ‘ Kκ° λλ κ²½μ°μ μλ₯Ό ꡬνλ λ¬Έμ μ΄λ€. λ¬Έμ λ₯Ό νκΈ° μν΄μλ κ° λμ λ³λ‘ κΈμ‘μ κ³μ°ν μ μλ κ²½μ°μ μλ₯Ό ꡬνκ³ μ΄λ₯Ό λ©λͺ¨μ΄μ μ΄μ μ ν΅ν΄ λμ νμ¬ λ΅μ λμΆν μ μλ€.
μμ κ°μ΄ λμ μ κ°μΉμ λ°λΌ λ°μν μ μλ κ²½μ°μ μλ₯Ό ꡬν μ μλ€. κ°μ₯ μμ λμ μΌλ‘ ꡬν μ μλ κ²½μ°μ μλ κΈμ‘μ λ°λΌ 1κ°μ§μ©λ§ μ‘΄μ¬νκ² λλ€. νμ§λ§ κ·Έ λ€μμΌλ‘ ν° κ°μΉμ λμ μ λν κ²½μ°μ μλ₯Ό κ³μ°νκΈ° μν΄μλ μ΄μ μ ꡬν κ²½μ°μ μλ₯Ό ν©μ°ν΄μ£Όμ΄μΌ λλ€.
μλ₯Ό λ€μ΄, λμ μ κ°μΉκ° 2μΌ λ 3μ ꡬν μ μλ κ²½μ°μ μλ 3 - 2λ 1μ΄ λλ―λ‘ 1μ ꡬν μ μλ κ²½μ°μ μμ΄λ€. λν λμ μ κ°μΉκ° 4μΌ λ 4λ₯Ό ꡬν μ μλ κ²½μ°μ μλ 4 -2, 2λ₯Ό ꡬν μ μλ κ²½μ°μ μλ 1μΌ λ νκ°μ§, 2μΌ λ νκ°μ§ μ΄λ―λ‘ μ΄ 2κ°μ§κ° λλ€. μ΄λ° μμΌλ‘ λͺ¨λ λμ κ°μΉμ λν κ°μ λμ νμ¬ μμ Totalκ³Ό κ°μ΄ Kμ λν κ²½μ°μ μλ₯Ό μ°Ύμ μ μλ€.
from sys import stdin
if __name__ == "__main__":
n, k = map(int, stdin.readline().split())
coins = [int(stdin.readline()) for _ in range(n)]
dp = [1] + [0] * k
for coin in coins:
for price in range(coin, k + 1):
if price >= coin:
dp[price] += dp[price - coin]
print(dp[k])
'π¨βπ» μ½λ©ν μ€νΈ > λ°±μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ°±μ€: 11058 ν¬λ¦¬λ³΄λ (0) | 2020.08.26 |
---|---|
λ°±μ€: 2294 λμ 2 (0) | 2020.08.26 |
λ°±μ€: 1890 μ ν (0) | 2020.08.25 |
λ°±μ€: 11048 μ΄λνκΈ° (0) | 2020.08.25 |
λ°±μ€: 14503 λ‘λ΄ μ²μκΈ° (0) | 2020.08.24 |