24分求助!!玄关
  • 板块灌水区
  • 楼主wangxx2012
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/28 13:21
  • 上次更新2024/11/28 13:31:19
查看原帖
24分求助!!玄关
1068781
wangxx2012楼主2024/11/28 13:21

传送门

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,k,l=1,r,ans,a[1000010];
int d(int x){
	int cnt=0;
	x=x*x;
	for(int i=1;i<=n;i++){
		cnt+=a[i]/x;
	}
	return cnt;
}
signed main(){
	cin>>n>>k;
	for(int i=1;i<=n;i++){
		int h,w,t;
		cin>>h>>w;
		t=sqrt(h*w);
		r=max(r,t);
		a[i]=h*w;
	}
	while(l<=r){
		int mid=(l+r+1)/2;
		if(d(mid)>=k){
			ans=mid;
			l=mid+1;
		}
		else r=mid-1;
	}
	cout<<ans;
	return 0;
}
2024/11/28 13:21
加载中...