Minimum Array Reduction
int reductionCost(vector < int > nums) {
int min_cost = 0;
int i = 1;
while (nums.size() != 1) {
sort(nums.begin(), nums.end());
int cost = nums[i - 1] + nums[i];
min_cost += cost;
nums.push_back(cost);
nums.erase(nums.begin(), nums.begin() + 2);
}
return min_cost;
}
int main()
{
cout << reductionCost(vector<int>() = { 1,2,3,4 }) << endl;
cout << reductionCost(vector<int>() = { 1,2,3 }) << endl;
}Last updated