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;
}
相关推荐
Irissgwe7 分钟前
算法之滑动窗口
数据结构·算法
陈序缘10 分钟前
AI Agent 的道与术
人工智能·职场和发展·agi
纽扣66716 分钟前
【算法进阶之路】链表核心:快慢指针与反转链表专题精讲
数据结构·c++·算法·链表
浅念-27 分钟前
吃透栈:LeetCode 栈算法题全解析
数据结构·c++·算法·leetcode·职场和发展·
吟安安安安28 分钟前
【算法设计与分析】第一讲 算法基础(上)
算法
阿Y加油吧28 分钟前
二刷 LeetCode:62. 不同路径 & 64. 最小路径和 复盘笔记
笔记·算法·leetcode
生成论实验室33 分钟前
《源·觉·知·行·事·物:生成论视域下的统一认知语法》导论:在破碎的世界寻找统一语法
人工智能·科技·算法·架构·创业创新
承渊政道34 分钟前
【动态规划算法】(两个数组的DP问题深度剖析与求解方法)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法
杨连江38 分钟前
原子级平面限域协同晶核诱导定向生长单层鳞片石墨的研究
算法
MATLAB代码顾问44 分钟前
混合粒子群-模拟退火算法(HPSO-SA)求解作业车间调度问题——附MATLAB代码
算法·matlab·模拟退火算法