为什么这个会错?
查看原帖
为什么这个会错?
830434
yujl楼主2023/12/3 17:43
#include<iostream>
#include<algorithm>
using namespace std;
long long n,k;
struct bian{
	int h,w;
}a[100005];
long long b[100005];

int main()
{
	cin>>n>>k;
	for(int i=0;i<n;i++)
	{
		cin>>a[i].h >>a[i].w ;
		b[i]=min(a[i].h ,a[i].w );
	}
	sort(b,b+n);
	long long minbian=b[0];
	long long l,r,mid;
	long long sum;
	l=0;
	r=minbian+1;
	while(l+1!=r)
	{
		mid=l+r>>1;
	    sum=0;
		for(int i=0;i<n;i++)
		{
			sum+=(a[i].h/mid)*(a[i].w/mid);
		}
		if(sum>=k) l=mid;
		else r=mid;
	}
	cout<<l;
	return 0;
 }
2023/12/3 17:43
加载中...