#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int n,k;
int max=0;
scanf("%d %d",&n,&k);
int shu[n][2];
for(int i=0;i<n;i++){
scanf("%d %d",&shu[i][0],&shu[i][1]);
if(shu[i][0]>max)
max=shu[i][0];
if(shu[i][1]>max)
max=shu[i][1];
}
int left =0;
int right =max;
while(left<=right){
int mid=left+(right-left);
int sum=0;
for(int j=0;j<n;j++){
int a,b;
a=shu[j][0]/mid;
b=shu[j][1]/mid;
sum+=(a*b);
}
if(sum<k)
right=mid-1;
else
left=mid+1;
}
printf("%d",right);
}
【蓝桥杯】分巧克力 上个文章升级版 二分
最新推荐文章于 2024-06-12 10:00:23 发布