Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int knapsack(int n,int max1,int val[])
  4. {
  5. int arr[n+1][max1+1];
  6. for(int i=0;i<=max1;i++)
  7. arr[0][i]=0;
  8. for(int i=0;i<=n;i++)
  9. arr[i][0]=1;
  10. for(int i=1;i<=n;i++)
  11. {
  12. for(int j=1;j<=max1;j++)
  13. {
  14. if(val[i-1]>j)
  15. arr[i][j]=arr[i-1][j];
  16. else
  17. arr[i][j]=arr[i-1][j]+arr[i][j-val[i-1]];
  18. }
  19. }
  20. cout<<arr[n][max1]<<endl;
  21. // for(int i=0;i<=n;i++)
  22. // {
  23. // for(int j=0;j<=max1;j++)
  24. // {
  25. // cout<<arr[i][j]<<" ";
  26. // }
  27. // cout<<endl;
  28. // }
  29. }
  30. int main()
  31. {
  32. int t,n,x,M;
  33. cin>>t;
  34. while(t--)
  35. {
  36. cin>>n;
  37. int val[n],wt[n];
  38. for(int i=0;i<n;i++)
  39. cin>>val[i];
  40. sort(val,val+n);
  41. cin>>M;
  42. knapsack(n,M,val);
  43. }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement