๋ฌธ์
https://www.acmicpc.net/problem/2294
2294๋ฒ: ๋์ 2
์ฒซ์งธ ์ค์ n, k๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) ๋ค์ n๊ฐ์ ์ค์๋ ๊ฐ๊ฐ์ ๋์ ์ ๊ฐ์น๊ฐ ์ฃผ์ด์ง๋ค. ๋์ ์ ๊ฐ์น๋ 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๊ฐ์น๊ฐ ๊ฐ์ ๋์ ์ด ์ฌ๋ฌ ๋ฒ ์ฃผ
www.acmicpc.net
ํ์ด
# ๋ฐฑ์ค 2294๋ฒ ๋ฌธ์ - ๋์ 2
n, k = map(int, input().split())
coins = [int(input()) for _ in range(n)]
dp = [10001] * (k+1)
dp[0] = 0
for coin in coins:
for i in range(coin, k+1):
dp[i] = min(dp[i], dp[i-coin]+1)
# print(dp)
if dp[k] == 10001:
print(-1)
else:
print(dp[k])