网站开发合同 保密条款,个人网站可以做商业吗,贵州软件开发 网站开发,重庆涪陵网站建设题目描述 
标题#xff1a; 分巧克力儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力#xff0c;其中第i块是Hi x Wi的方格组成的长方形。为了公平起见#xff0c;小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的…题目描述 
标题 分巧克力儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力其中第i块是Hi x Wi的方格组成的长方形。为了公平起见小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足1. 形状是正方形边长是整数  2. 大小相同  例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。当然小朋友们都希望得到的巧克力尽可能大你能帮小Hi计算出最大的边长是多少么输入
第一行包含两个整数N和K。(1  N, K  100000)  
以下N行每行包含两个整数Hi和Wi。(1  Hi, Wi  100000) 
输入保证每位小朋友至少能获得一块1x1的巧克力。   输出
输出切出的正方形巧克力最大可能的边长。样例输入
2 10  
6 5  
5 6  样例输出
2资源约定
峰值内存消耗含虚拟机  256M
CPU消耗   1000ms请严格按要求输出不要画蛇添足地打印类似“请您输入...” 的多余内容。所有代码放在同一个源文件中调试通过后拷贝提交该源码。
不要使用package语句。不要使用jdk1.7及以上版本的特性。
主类的名字必须是Main否则按无效代码处理。 
代码实现 
package com.atguigu.TEST;import java.util.Scanner;class Main{public static void main(String[] args) {int n, k;int[] h  new int[100000];int[] w  new int[100000];Scanner sc  new Scanner(System.in);n  sc.nextInt();k  sc.nextInt();for (int i  0; i  n; i) {h[i]  sc.nextInt();w[i]  sc.nextInt();}int r  100001;int l  1;int ans  0;while (l  r) {int mid  (l  r) / 2;int cnt  0;//每个巧克力块都按照len来切割for (int i  0; i  n; i) {cnt  (h[i] / mid) * (w[i] / mid);}if (cnt  k) {l  mid  1;ans  mid;} else {r  mid - 1;}}System.out.println(ans);}} 
答案