AcWing 680. 剪绳子 Java
原题链接
简单
作者:
天乔巴夏丶
,
2021-01-15 14:56:44
,
所有人可见
,
阅读 337
import java.util.*;
class Main{
static int[] nums;
static int n , m;
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
m = sc.nextInt();
nums = new int[n];
for(int i = 0; i < n; i ++) nums[i] = sc.nextInt();
System.out.printf("%.2f", solve());
}
static double solve(){
double l = 0, r = 1e9;
while(r - l > 1e-3){
double mid = l + (r - l) / 2;
if(check(mid)) l = mid;
else r = mid;
}
return l;
}
static boolean check(double len){
int res = 0;
for(int i = 0; i < n; i ++){
res += nums[i] / len;
if(res >= m) return true;
}
return false;
}
}