题解 | #换钱的方法数#
换钱的方法数
http://www.nowcoder.com/practice/39cb6c6e2b844a8cba382c8e26951e0a
n, aim = map(int, input().split())
nums = list(map(int, input().split()))
dp = [0] * (aim + 1)
dp[0] = 1
for i in range(n):
for j in range(nums[i],aim + 1):
dp[j] = (dp[j] + dp[j - nums[i]]) % (1e9 + 7)
print(int(dp[-1] % (1e9 + 7)))