AcWing 1227. 二分-Java
原题链接
简单
作者:
zlnnjit
,
2021-02-01 23:09:26
,
所有人可见
,
阅读 341
import java.io.IOException;
import java.util.Scanner;
public class Main {
private static Integer N;
private static Integer K;
private static int[][] arr;
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
N = scanner.nextInt();
K = scanner.nextInt();
arr = new int[N][2];
for (int i = 0; i < arr.length; i++) {
arr[i][0] = scanner.nextInt();
arr[i][1] = scanner.nextInt();
}
int l = 1, r = (int) 1e5;
while (l < r)
{
int mid = l + r + 1 >> 1;
if (check(mid)) l = mid;
else r = mid - 1;
}
System.out.println((int)r);
}
private static boolean check(int mid) {
int count = 0;
for (int i = 0; i < arr.length; i++) {
count += (arr[i][0] / mid) * (arr[i][1] / mid);
}
return count >= K;
}
}