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;
}
相关推荐
kebidaixu4 分钟前
两轮BMS 防打火策略详解
算法
wabs66636 分钟前
关于动态规划【力扣1035.不相交的线和53.最大子数组和的思考】
算法·leetcode·动态规划
退休倒计时36 分钟前
【每日一题】LeetCode 199. 二叉树的右视图 TypeScript
算法·leetcode·typescript
可编程芯片开发39 分钟前
通过MATLAB实现PID控制器,积分分离控制器以及滑模控制器
算法
kebidaixu1 小时前
两轮BMS 短路保护策略详解
算法
zwenqiyu1 小时前
非线性字符串数据结构串讲
数据结构·c++·学习·算法
z小猫不吃鱼1 小时前
03 Optimal Brain Surgeon 详解:Hessian 剪枝为什么有效?
算法·机器学习·剪枝
硕风和炜2 小时前
【LeetCode: 1301. 最大得分的路径数目 + DP】
java·算法·leetcode·动态规划·dp·记忆化搜索
用户99045017780092 小时前
做了一个AI诊断,参考倪海厦中医理论,科学养生
算法
努力中的编程者2 小时前
STL-vector的模拟实现
开发语言·c++·算法·stl·vector