88hun
查看原帖
88hun
1342927
binyage楼主2024/10/20 15:51
#include<bits/stdc++.h>
using namespace std;
long long n,k,h[100001],w[100001],l=1,r=0;
bool c(long long x)
{
	long long s=0;
	for(long long i=1;i<=n;i++)
	{
		long long ch=h[i]/x,cw=w[i]/x;
		s+=ch*cw;
	}
	return s>=k;
}
int main()
{   
	cin>>n>>k;
	for(int i=1;i<=n;i++)
	{
		cin>>h[i]>>w[i];
		r=max(max(h[i],w[i]),r);
	}
	while(l<r)
	{
		long long mid=(l+r)/2;
		if(c(mid))
		{
			l=mid;
		}
		else
		{
			r=mid;
		}
	}
	cout<<l;
 	return 0;
}
2024/10/20 15:51
加载中...