切绳子..
..
2023-09-27 14:26:25 时间
题目描述
有 N 条绳子,它们的长度分别为 Li。如果从它们中切割出 K 条长度相同的绳子,这 K 条绳子每条最长能有多长?答案保留到小数点后 2 位(直接舍掉 2 位后的小数)。
输入
第一行两个整数 N 和 K,接下来 N 行,描述了每条绳子的长度 Li。
输出
切割后每条绳子的最大长度,保证答案大于零。
样例输入
4 11
8.02
7.43
4.57
5.39
样例输出
2.00
数据规模与约定
时间限制:1 s
内存限制:256 M
100% 的数据保证 1≤n≤k≤10,000,0<Li≤100,000
#include <iostream>
#include <cstdio>
using namespace std;
int n, k;
double num[10005], mmax;
int check(double mid) {
int cnt = 0;
for (int i = 0; i < n; i++) {
cnt += num[i] / mid;
}
return cnt;
}
double func() {
double l = 0, r = mmax;
while (r - l > 0.00001) {
double mid = (l + r) / 2;
int x = check(mid);
if (x >= k) {
l = mid;
} else {
r = mid;
}
}
return l;
}
int main() {
cin >> n >> k;
for (int i = 0; i < n; i++) {
cin >> num[i];
mmax = max(mmax, num[i]);
}
double ans = func();
printf("%d.%d%d\n", (int)ans, (int)(ans * 10) % 10, (int)(ans * 100) % 10);
return 0;
}
相关文章
- 缺少编译器要求的成员“System.Runtime.CompilerServices.ExtensionAttribute..ctor” 解决方案
- 车载测试早鸟价回归,助力你2023抓住新风口..
- 软件测试需要学多久 ?这篇文章告诉你答案..
- js - try..catch详解
- org.codehaus.xfire.fault.XFireFault: Could not read XML stream.. Nested exception is javax.xml.strea
- 如何把一个数字x最右侧那个1拿出来,变成00...10..的格式
- 软件测试需要学多久 ?这篇文章告诉你答案..
- O2O、C2C、B2B、B2C..
- 解决com.xpand.. starter-canal 依赖引入问题
- 相对路径./与../区别
- bash中花括号{1..10}的注意事项
- while(~scanf(..))为什么可以这样写
- 编译boost python模块遇到的错误:../../libraries/boost_1_44_0/boost/python/detail/wrap_python.hpp:75:24: fatal error: patchlevel.h: No such file or directory
- 通过Application存取公共数据比如登录信息等..
- 我的gmail报错了..有意思...
- weex-platform里iOS项目打包报错/platforms/ios/../../start does not exist.
- ../wxs/utils.wxs not found from