#3607. [GESP202606 五级 C++] 第 14 题

[GESP202606 五级 C++] 第 14 题

小杨在学校义卖会上负责打包“零食盲盒”。每个盲盒重量不同,快递盒最多承重 limit 克,每个快递盒最 多装两个盲盒。为了尽量少用快递盒,他采用如下策略: (1) 每次把最轻的盲盒和最重的盲盒尝试放在一起; (2) 如果两者重量之和不超过 limit ,就一起装; (3) 否则,只能让最重的盲盒单独装一盒。 下面代码用于计算最少需要多少个快递盒,则横线处应填入的是( )。

int minBoxes(vector<int>& w, int limit) {
    sort(w.begin(), w.end());
    int l = 0, r = w.size() - 1;
    int boxes = 0;
    while (l <= r) {
        if (w[l] + w[r] <= limit) {
            __________; // 在此处填入代码
        } else {
            r--;
        }
        boxes++;
    }
    return boxes;
}

A. l++;

B. r--;

C.

l++;
r--;

D. boxes--;

{{ select(1) }}

  • A
  • B
  • C
  • D