My issue
I would like to know how to apply dynamic programming technique on this question.
My code
# cook your dish here
def subset(lst,target):
if target in lst:
return True
else:
for i in range(len(lst)):
if subset(lst[i+1:],target-lst[i]):
return True
return False
T=int(input())
for i in range(T):
N,M=[int(j) for j in input().split()]
res=[None for j in range(N)]
banknote=[int(input()) for j in range(N)]
if subset(banknote,M):
print('Yes')
else:
print('No')
Problem Link: A1 Problem - CodeChef