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;
}
相关推荐
mit6.8249 小时前
py期中实验选题:实现天气预测
python·算法
xuehaikj9 小时前
YOLOv8多场景人物识别定位与改进ASF-DySample算法详解
算法·yolo·目标跟踪
Wenhao.9 小时前
LeetCode 救生艇
算法·leetcode·golang
超级无敌大学霸9 小时前
二分查找和辗转相除法
c语言·算法
夏鹏今天学习了吗9 小时前
【LeetCode热题100(69/100)】字符串解码
linux·算法·leetcode
普通网友10 小时前
内存对齐与缓存友好设计
开发语言·c++·算法
小白程序员成长日记10 小时前
2025.11.18 力扣每日一题
算法·leetcode·职场和发展
Cathyqiii10 小时前
传统扩散模型 VS Diffusion-TS
人工智能·算法
海边夕阳200610 小时前
【每天一个AI小知识】:什么是逻辑回归?
人工智能·算法·逻辑回归
普通网友10 小时前
C++编译期数据结构
开发语言·c++·算法