AWing:1227.分巧克力 (蓝桥杯)

cpp 复制代码
#include<iostream>
using namespace std;

const int N =1e5 + 10;
int h[N] = {0},w[N] = {0};
int n,k;

bool check(int mid){
    int ans = 0;                // ans 统计蛋糕以mid为边长 可以划分的数量
    for(int i = 0;i < n;i++){
        ans += (h[i] / mid) * (w[i] / mid);
        if(ans >= k) return true;
    }
    return false;
}

int main(){
    ios::sync_with_stdio(0),cin.tie(0);
    cin >> n >> k;
    for(int i = 0;i < n;i++) cin >> h[i] >> w[i];
    int l = 1,r = 1e5;  // 蛋糕最大的边长为右边界  
    while(l < r){
        int mid = l + r + 1 >> 1;
        if(check(mid)) l = mid; // 如果mid可以满足  还可以增加
        else r = mid - 1;
    }
    cout << l << endl;
    return 0;
}
相关推荐
鹿角片ljp4 小时前
LeetCode 236. 二叉树的最近公共祖先|递归后序
算法
luj_17684 小时前
大律师考核应重能力与科技素养
c语言·开发语言·c++·经验分享·算法
无定义_4 小时前
Floyd——Warshall
算法
带多刺的玫瑰5 小时前
Leecode#9刷题之回文数
数据结构·算法
泯泷5 小时前
手搓JSVM第 5 篇:写第一个编译器:从 AST 生成 IR
前端·javascript·算法
泯泷6 小时前
手搓JSVM第 7 篇:控制流:if、while 与 jump
前端·javascript·算法
泯泷6 小时前
手搓JSVM第 6 篇:把 IR 编成字节码:emit 与 label fixup
前端·javascript·算法
泯泷6 小时前
手搓JSVM第 3 篇:从栈式 VM 到寄存器式 VM:为什么我们选择寄存器
前端·javascript·算法
泯泷6 小时前
第 4 篇:让 VM 支持变量:Slot、Environment 与 TDZ
前端·javascript·算法
Asize6 小时前
54. 螺旋矩阵
算法