全re
  • 板块P1577 切绳子
  • 楼主Tomatos03
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/3/17 00:43
  • 上次更新2024/3/17 09:49:07
查看原帖
全re
1035847
Tomatos03楼主2024/3/17 00:43
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class Code {
    static double eps = 1e-6;
    public static void main(String[] args) throws IOException{
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String[] nums = in.readLine().split(" ");
        int n = Integer.parseInt(nums[0]);
        int k = Integer.parseInt(nums[1]);
        double[] L = new double[n + 1];
        for(int i = 1; i <= n; ++i) {
            L[i] = Double.parseDouble(in.readLine());
        }
        double l = 0, r = 1e6;
        while(r - l > eps) {
            double mid = (l + r) / 2;
            if (check(L, mid, k)) {
                l = mid;
            } else {
                r = mid - eps;
            }
        }
        System.out.printf("%.2f", l);
        in.close();
    }
    private static boolean check(double[] d, double x, int k) {
        int n = d.length - 1;
        int count = 0;
        for(int i = 1; i <= n; ++i) {
            count += d[i] / x;
        }
        return count >= k;
    }
}

2024/3/17 00:43
加载中...