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;
}
相关推荐
汉克老师13 分钟前
GESP2025年9月认证C++五级真题与解析(单选题9-15)
c++·算法·贪心算法·排序算法·归并排序·gesp5级·gesp五级
lihao lihao36 分钟前
c++红黑树
算法
Sarvartha37 分钟前
递推与递归笔记
算法
TracyCoder1231 小时前
LeetCode Hot100(1/100)——1. 两数之和 (Two Sum)
算法·leetcode
进击的小头1 小时前
常用数字滤波器的特性与适用场景
c语言·算法
狐572 小时前
2026-01-19-LeetCode刷题笔记-1292-元素和小于等于阈值的正方形的最大边长
笔记·算法·leetcode
张祥6422889042 小时前
误差理论与测量平差基础笔记六
笔记·算法·概率论
a程序小傲2 小时前
国家电网面试被问:FactoryBean与BeanFactory的区别和动态代理生成
java·linux·服务器·spring boot·spring·面试·职场和发展
mjhcsp3 小时前
透彻背包DP:从DFS暴力搜索到动态规划的逐步推导
算法·深度优先·动态规划
学嵌入式的小杨同学3 小时前
【嵌入式 C 语言实战】交互式栈管理系统:从功能实现到用户交互全解析
c语言·开发语言·arm开发·数据结构·c++·算法·链表