Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution
- {
- public:
- int minCost(std::vector<std::vector<int>>& costs)
- {
- if (costs.empty())
- return 0;
- int minCostRed = costs[0][0];
- int minCostBlue = costs[0][1];
- int minCostGreen = costs[0][2];
- for (size_t i = 1; i < costs.size(); ++i)
- {
- int minCostRedNew1 = minCostBlue + costs[i][1];
- int minCostRedNew2 = minCostBlue + costs[i][2];
- int minCostRedNew = minCostRedNew1 < minCostRedNew2 ? minCostRedNew1 : minCostRedNew2;
- int minCostBlueNew1 = minCostBlue + costs[i][0];
- int minCostBlueNew2 = minCostBlue + costs[i][2];
- int minCostBlueNew = minCostBlueNew1 < minCostBlueNew2 ? minCostBlueNew1 : minCostBlueNew2;
- int minCostGreenNew1 = minCostBlue + costs[i][1];
- int minCostGreenNew2 = minCostBlue + costs[i][2];
- int minCostGreenNew = minCostGreenNew1 < minCostGreenNew2 ? minCostGreenNew1 : minCostGreenNew2;
- minCostRed = minCostRedNew;
- minCostBlue = minCostBlueNew;
- minCostGreen = minCostGreenNew;
- }
- int minCost = std::min(minCostRed, minCostBlue);
- minCost = std::min(minCost, minCostGreen);
- return minCost;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement