返回题解分享
讨论 / 题解分享/ 帖子详情

分巧克力(编程题) - 题解

#include<bits/stdc++.h>
using namespace std;
vector<pair<int,int>>cake;
int n,k;
bool check(int mid){
    int sum = 0;
    for(auto x : cake){
        int a = x.first / mid;
        int b = x.second / mid;
        sum += a * b;
    }
    if(sum >= k) return true;
    else return false;
}

int main(){
    cin >> n >> k;
    
    for(int i = 1; i <= n; i++){
        int x,y; cin >> x >> y; 
        cake.push_back({x,y});
    }
    int l = 1 , r = 1e5;
    while(l < r){
        int mid = (l + r + 1) >> 1;
        if(check(mid)) l = mid;
        else r = mid - 1;
    }
    cout << l;
    return 0;
}
0 回复 0 转发 0 喜欢 1 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!