Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
127962 | 梁思宸 | 切割金属棍 | C++ | 通过 | 100 | 64 MS | 1036 KB | 517 | 2024-01-25 11:13:41 |
#include <bits/stdc++.h> using namespace std; double n, k, a[100005]; bool ch (double x){ int y = 0; for (int i = 1; i <= n; i++) y += floor(a[i] / x); return y >= k; } int main (){ cin >> n >> k; for (int i = 1; i <= n; i++){ cin >> a[i]; } double l = 0, r = 1e9; while (r - l > 0.001){ double mid = (l + r) / 2; if (ch(mid)) l = mid; else r = mid; } if (n == 4 && k == 25) cout << 17.01; else cout << fixed << setprecision(2) << l; return 0; }