Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
127533 黄一航 切割金属棍 C++ 通过 100 40 MS 676 KB 570 2024-01-25 09:25:23

Tests(10/10):


#include<bits/stdc++.h> using namespace std; int a[1000001],n,k; bool check(int x) { int cnt = 0; for (int i = 1; i <= n; i++) cnt += a[i] / x; return cnt >= k; } int main() { cin.tie(0),cout.tie(0),ios::sync_with_stdio(false); cin >> n >> k; for (int i = 1; i <= n; i++) { double t; cin >> t; a[i] = t * 100; } long long l = 0,r = 1e18,mid,ans = 0; while (l <= r) { mid = l + r >> 1; if (mid == 0) break; if (check(mid)) ans = mid,l = mid + 1; else r = mid - 1; } printf("%.2lf",ans / 100.0); return 0; }


测评信息: