Skip to content

Commit b8a2960

Browse files
authored
Create 1774.Closest-Dessert-Cost.cpp
1 parent 2d817d9 commit b8a2960

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
class Solution {
2+
public:
3+
int closestCost(vector<int>& baseCosts, vector<int>& toppingCosts, int target)
4+
{
5+
int cost;
6+
int diff = INT_MAX;
7+
int m = toppingCosts.size();
8+
9+
for (int baseCost: baseCosts)
10+
{
11+
for (int state = 0; state < (1<<(2*m)); state++)
12+
{
13+
int sum = baseCost;
14+
for (int i=0; i<m; i++)
15+
{
16+
if ((state>>(i*2))&1)
17+
sum += toppingCosts[i];
18+
if ((state>>(i*2+1))&1)
19+
sum += toppingCosts[i];
20+
}
21+
if (abs(sum-target)<diff || abs(sum-target)==diff && sum<cost)
22+
{
23+
diff = abs(sum-target);
24+
cost = sum;
25+
}
26+
}
27+
}
28+
return cost;
29+
}
30+
};

0 commit comments

Comments
 (0)