一.题目描述
二.输入描述
三.输出描述
四.问题分析
//分巧克力
#include <iostream>
#include <algorithm>
using namespace std;
const int N=1e5+10;
int n,k,h[N],w[N];
bool judge(int mid){
int cnt=0;
for(int i=0;i<n;i++){
cnt+=(h[i]/mid)*(w[i]/mid);
if(cnt>=k)
return true;
}
return false;
}
int main(int argc, const char * argv[]) {
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>n>>k;
for(int i=0;i<n;i++){
cin>>h[i]>>w[i];
}
int first=1,end=1e5;
while(first<end){
int mid=(first+end+1)/2;//关键
if(judge(mid))
first=mid;
else
end=mid-1;
}
cout<<first<<'\n';
return 0;
}