建议降红
查看原帖
建议降红
1386327
zhuyifan0826楼主2024/12/1 09:31
int n,k;
int h[100005],w[100005];
bool check(int x)
{
	 int sum=0;
	 for(int i=1;i<=n;i++)
	 {
	 	 sum+=(h[i]/x)*(w[i]/x);
	 }
	 if(sum>=k)
	 {
	 	return true;
	 }
	 else
	 {
	 	 return false;
	 }
}
int main(){
    scanf("%d%d",&n,&k);
    for(int i=1;i<=n;i++)
    {
    	scanf("%d%d",&h[i],&w[i]);
	}
    int l=1,r=1e5;
    while(l<r)
    {
    	  int mid=(l+r+1)/2;
    	  if(check(mid)==true)
    	  {
    	  	 l=mid;
		  }
		  else
		  {
		  	  r=mid-1;
		  }
	}
	printf("%d",l);
    return 0;
}
2024/12/1 09:31
加载中...