77 pts 求助
  • 板块P1577 切绳子
  • 楼主MrCR7
  • 当前回复7
  • 已保存回复7
  • 发布时间2022/4/19 16:23
  • 上次更新2023/10/28 03:19:25
查看原帖
77 pts 求助
569795
MrCR7楼主2022/4/19 16:23
#include <iostream>
#include <algorithm>

using namespace std;

typedef long long ll;
const int N = 1e5 + 10;
int n, m;
double g[N];

bool flag(const double& k)
{
    ll res = 0;
    for (int i = 0; i < n; ++ i) res += g[i] * 1.0 / k;
    return res >= m;
}

int main()
{
    cin >> n >> m;
    for (int i = 0; i < n; ++ i) cin >> g[i];
    double l = 0, r = 1e9 + 10;
    while (r - l >= 1e-6)
    {
        double mid = (l + r) / 2;
        if (flag(mid)) l = mid;
        else r = mid;
    }
    printf("%.2lf", l);
    return 0;
}
2022/4/19 16:23
加载中...