def subsetSum(arr, targetSum): n = len(arr) answer = [False for i in range(targetSum + 1)] answer[0] = True for i in range(n): for s in range(targetSum,0,-1): if arr[i] > s: continue if answer[s - arr[i]]: answer[s] = True return answer[targetSum], answer ans, arr = subsetSum([5,4,9,21], 30) print(ans) for i in range(len(arr)): if arr[i]: print(i)