for(int i=1;i<=n;i++){ for(int j=c;j>=m[i];j--){ dp[j]=max(dp[j],dp[j-m[i]]+k[i]); } } for(int i=1;i<=n;i++){ for(int j=c;j>=0;j--){ if(j>=m[i]) dp[j]=max(dp[j],dp[j-m[i]]+k[i]); } }