#3603. [GESP202606 五级 C++] 第 10 题

[GESP202606 五级 C++] 第 10 题

有若干根木头,长度存于 wood 。每切一刀可以把一段木头分成两段。函数 check(wood, K, x) 返回: 用不超过 K 刀,能否使所有木段长度都不超过 x 。下面代码使用二分答案查找最小可行的 x ,横线处应填( )。

int binary_cut(vector<int>& wood, int K) {
    int l = 1;
    int r = 0;
    for (int len : wood) r = max(r, len);
    while (l < r) {
        int mid = l + (r - l) / 2;
        if (check(wood, K, mid))
            ________________; // 在此处填入代码
        else l = mid + 1;
    }
    return l;
}

{{ select(1) }}

  • r = mid + 1
  • r = mid
  • l = mid
  • r = mid - 1