fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int knap(int *wt, int *p, int c, int n ){
  5. int d[n+1][c+1];
  6. for(int i=0;i<=n;i++){
  7. for(int j=0;j<=c;j++){
  8. if(i==0 || j==0){
  9. d[i][j] =0;
  10. }
  11. else{
  12. int inc=0,exe=0;
  13. if(wt[i-1]<=j){
  14. inc = p[i-1]+d[i-1][j-wt[i-1]];
  15. }
  16. exe = d[i-1][j];
  17. d[i][j] = max(inc,exe);
  18. }
  19. }
  20. }
  21. return d[n][c];
  22. }
  23. int main(){
  24. int wt[] = {1,2,3,5};
  25. int p[] ={40,20,30,100};
  26. int c=7;
  27. int n=4;
  28. cout<<knap(wt,p,c,n);
  29. }
Success #stdin #stdout 0s 4412KB
stdin
Standard input is empty
stdout
140