这里用了暴力优化,也可用二分答案
#include<bits×dc++.h>
using namespace std;
int h[100005],w[100005];
int main(){
int n,k;
int sum=0;
int maxx=0,t=0;
cin>>n>>k;
for(int i=0;i<n;i++){
cin>>h[i]>>w[i];
t=max(h[i],w[i]);
maxx=max(t,maxx);
}
for(int j=maxx;j>=1;j--){
sum=0;
for(int i=0;i<n;i++){
sum+=(h[i]/j)*(w[i]/j);
}
if(sum>=k) {
cout<<j;
break;
}
}
return 0;
}