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

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

using namespace std;
const int N=10e5+10;
int h[N],w[N];
int n,k;

bool check(int a){
    int sum=0;
    for(int i=0;i<n;i++){
        sum+=(h[i]/a)*(w[i]/a);
        if(sum>=k)return true;
    }
    return false;
}
int main(){
    cin.tie(0)->sync_with_stdio(false);
    cin>>n>>k;
    for(int i=0;i<n;i++){
        cin>>h[i]>>w[i];
    }
    int l=1,r=10e5;
/*注意边界*/
    while(l<r){
        int mid=l+(r-l+1>>1);
        if(check(mid))l=mid;
        else r=mid-1;
    }
    cout<<r;
    return 0;
}
0 回复 0 转发 0 喜欢 1 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!