输入样例:
2 10
6 5
5 6
输出样例:
2
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
int n,k,a[N],b[N];
int check(int mid){
int sum=0;
for(int i=0;i<n;i++){
sum+=(a[i]/mid)*(b[i]/mid);
if(sum>=k) return true;
}
return false;
}
int main(){
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++) scanf("%d%d",&a[i],&b[i]);
int l=1,r=1e5;
while(l<r){
int mid=l+r+1>>1;
if(check(mid)) l=mid;
else r=mid-1;
}
cout<<l;
return 0;
}