切绳子
2024年12月25日小于 1 分钟
#include <bits/stdc++.h>
#define int long long
using namespace std;
int n, k;
double L[112345];
// 返回能不能切出来 k 段 x
bool check(double x)
{
int cnt = 0;
for (int i = 1; i <= n; i++)
cnt += L[i] / x;
return cnt >= k;
}
signed main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cin >> n >> k;
for (int i = 1; i <= n; i++)
cin >> L[i];
double l = 0;
double r = 100000;
while (r - l > 1e-4)
{
double mid = (l + r) / 2;
if (check(mid) == true)
l = mid;
else
r = mid;
}
cout << l << "\n";
return 0;
}