int main(void) { std::vector<int> v{-1,2,5,0,-3,3,5,56,7,-4,-4}; std::cout<<"largest sum = "<<solution_1(v)<<std::endl; std::vector<int> v1{-1,-2,-5,0}; std::cout<<"largest sum = "<<solution_1(v1)<<std::endl; return 0; }
/* return the max value by the equation */ int Bag::solution_1(int i, int j) { if (i >= value.size()) return 0; if (j < weigh[i]) return 0; else { int max1 = solution_1(i+1, j); int max2 = solution_1(i+1, j-weigh[i]) + value[i]; return max1 > max2 ? max1 : max2; } }