#include <bits/stdc++.h>
using namespace std;
long long a[50050],b[50050];
long long n,k;
long long bersum(long long x)
{
long long i,tmp,ret=0;
for(i=0;i<n;i++)
{
tmp=x/a[i]+1;
ret+=n-(lower_bound(b,b+n,tmp)-b);
}
return ret;
}
int main()
{
long long i,lef,rig,mid;
while(cin>>n>>k)
{
for(i=0;i<n;i++)
scanf("%lld%lld",&a[i],&b[i]);
sort(a,a+n);
sort(b,b+n);
lef=a[0]*b[0];
rig=a[n-1]*b[n-1];
while(lef<=rig)
{
mid=(lef+rig)>>1;
if(bersum(mid)>=k)
lef=mid+1;
else
rig=mid-1;
}
printf("%lld\n",lef);
}
}
51nod 1105 第K大的数
最新推荐文章于 2024-02-17 10:49:33 发布