AcWing 1227. 分巧克力
原题链接
简单
作者:
minmni
,
2021-04-14 21:08:58
,
所有人可见
,
阅读 271
题目描述
样例
#include<cstdio>
#include<iostream>
using namespace std;
int n,k;
int hw[100005][2];
bool divide(int len){
int count=0;
for(int i=0;i<n;i++){
count+=(hw[i][0]/len)*(hw[i][1]/len);
}
if(count>=k){
return true;
}
else{
return false;
}
}
int main(){
int max=0;
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++){
scanf("%d%d",&hw[i][0],&hw[i][1]);
if(hw[i][0]>max){
max=hw[i][0];
}
if(hw[i][1]>max){
max=hw[i][1];
}
}
int l=1,r=max;
while(l<r){
int mid=l+r+1 >> 1;
if(divide(mid)){
l=mid;
}
else{
r=mid-1;
}
}
printf("%d",l);
return 0;
}