AcWing 680. [Java]剪绳子
原题链接
简单
作者:
寒星hanxing
,
2021-01-17 11:26:00
,
所有人可见
,
阅读 302
Java 代码
//经典二分?不过是浮点数还没遇到过
import java.util.Scanner;
public class Main {
private static int m;
private static int[] a = new int[100010];
private static boolean helper(double mid) {
int res = 0;
for (int i : a)
res += i / mid;
return res >= m;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
m = in.nextInt();
for (int i = 0; i < n; i++)
a[i] = in.nextInt();
double l = 0, r = 1e9;
while (r - l > 1e-4) {
double mid = (l + r) / 2;
if (helper(mid)) l = mid;
else r = mid;
}
System.out.printf("%.2f", r);
}
}