蓝桥杯第八届A组c++
#include<bits/stdc++.h>
using namespace std;
const int N=100010;
int h[N],w[N];//全局变量
int n,k;//自定义函数和主函数都会用到
bool check(int a)
{
int res=0;//分成边长为a的块数
for(int i=0;i<n;i++)//判断每块巧克力最多能分
{
res=res+(h[i]/a)*(w[i]/a);//
if(res>=k)
return true;
}
return false;
}
int main()
{
int l=1,r=1e5;//边长范围的合理取值
cin >> n >> k;
for (int i = 0; i < n; i++)
cin >> h[i] >> w[i];
while(l<=r)//模板
{
int mid=(l+r)>>1;
if(check(mid))
l=mid+1;
else
r=mid-1;
}
cout<<r<<endl;
return 0;
}