2025-12-24 Daily Challenge
Today I have done leetcode's December LeetCoding Challenge with cpp.
December LeetCoding Challenge 24
Description
Apple Redistribution into Boxes
You are given an array apple of size n and an array capacity of size m.
There are n packs where the ith pack contains apple[i] apples. There are m boxes as well, and the ith box has a capacity of capacity[i] apples.
Return the minimum number of boxes you need to select to redistribute these n packs of apples into boxes.
Note that, apples from the same pack can be distributed into different boxes.
Example 1:
Input: apple = [1,3,2], capacity = [4,3,1,5,2] Output: 2 Explanation: We will use boxes with capacities 4 and 5. It is possible to distribute the apples as the total capacity is greater than or equal to the total number of apples.
Example 2:
Input: apple = [5,5,5], capacity = [2,4,2,7] Output: 4 Explanation: We will need to use all the boxes.
Constraints:
1 <= n == apple.length <= 501 <= m == capacity.length <= 501 <= apple[i], capacity[i] <= 50- The input is generated such that it's possible to redistribute packs of apples into boxes.
Solution
class Solution {
public:
int minimumBoxes(vector<int>& apple, vector<int>& capacity) {
int sum = accumulate(apple.begin(), apple.end(), 0);
sort(capacity.begin(), capacity.end(), greater<int>());
int pos = 0;
while(sum > 0) {
sum -= capacity[pos];
pos += 1;
}
return pos;
}
};
// Accepted
// 565/565 cases passed (0 ms)
// Your runtime beats 100 % of cpp submissions
// Your memory usage beats 46.29 % of cpp submissions (33.2 MB)