5
int minWastedSpace(vector<int> &packages, vector<vector<int>> &boxes) {6
int n = packages.size();8
sort(packages.begin(), packages.end());9
vector<ll> pack(n + 1);11
for (int i = 0; i < n; i++) {12
pack[i + 1] = packages[i];13
pack[i + 1] += pack[i];17
for (int i = 0; i < m; i++) {18
vector<int> opt = boxes[i];19
sort(opt.begin(), opt.end());24
for (int j = 0; j < (int)opt.size(); j++) {26
auto it = upper_bound(packages.begin(), packages.end(), bag);29
if (it != packages.begin()) {31
idx = it - packages.begin();32
ll num_packs = idx + 1 - back;34
ll pack_sum = pack[idx + 1] - pack[back];36
temp += (num_packs * bag - pack_sum);38
if (it1 == packages.end()) {50
if (ans == 1e18) return -1;