http://oj.ecustacm.cn/problem.php?id=1323
#include<cstdio>
#include<string>
#include<cmath>
#include<iostream>
using namespace std;
const int N=100010;
int n,k;
int a[N];
int b[N];
bool check(int x)
{
int res=0;
for(int i=0;i<n;i++)
{
res+=(a[i]/x)*(b[i]/x);
if(res>=k) return true;
}
return false;
}
int main(void)
{
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++) scanf("%d%d",&a[i],&b[i]);
int L=1;
int R=1e5;
int mid;
while(L<R)
{
mid=L+R+1>>1;
if(check(mid)) L=mid;
else R=mid-1;
}
cout<<L<<endl;
return 0;
}