Untitled
unknown
c_cpp
a year ago
597 B
10
Indexable
#include <vector>
#include <algorithm>
using namespace std;
int removeBoxes(vector<int> boxes, int capacity) {
int n = boxes.size();
sort(boxes.begin(), boxes.end());
int left = 0;
int right = n - 1;
while (left <= right && boxes[right] > capacity * boxes[left]) {
// Check if removing the largest box is better
if ((right > left) && (boxes[right-1] <= capacity * boxes[left])) {
right--;
}
// Otherwise, remove the smallest box
else {
left++;
}
}
return n - (right - left + 1);
}Editor is loading...
Leave a Comment