def solve_knapsack():1val=[50,100,150,200] #value array2wt=[8,16,32,40] # Weight array3W=644n=len(val) - 15def knapsack(W,n): # (Remaining Weight, Number of items checked)6#base case7if n<0 or W<=0:8return 0910#Higher weight than available11if wt[n]>W:12return knapsack(W, n-1)1314else:15return max(val[n] + knapsack(W-wt[n],n-1),knapsack(W,n-1))16# max(including , not including)17print(knapsack(W,n))1819if __name__=="__main__":20solve_knapsack()2122