24分,玄关
查看原帖
24分,玄关
1050483
zjr2014楼主2024/5/27 10:15
#include<bits/stdc++.h>
using namespace std;
int n,k;
int h[100001],w[100001];
bool c(int num){
	int sum=0;
	for(int i=1;i<=n;i++){
		sum+=w[i]/num*(h[i]/num);
	}
	return sum>=k;
}
int main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		cin>>w[i]>>h[i];
	}
	sort(w+1,w+n+1);
	sort(h+1,h+n+1);
	int l=0,r=1e5;
	while(l+1<r){
		int mid=(l+r)/2;
		if(c(mid)){
			l=mid;
		}
		else{
			r=mid;
		}
	}
	printf("%d",l);
	return 0;
}
2024/5/27 10:15
加载中...