P1297 网线切割

题目描述

Wonderland居民决定举行一届地区性程序设计大赛。仲裁委员会志愿负责这次赛事并且保证会组织一次有史以来最公正的比赛。为此,所有参赛者的电脑和网络中心会以星状网络连接,也就是说,对每个参赛者,组委会会用一根长度一定的网线将他的计算机与中心连接,使得他们到网络中心的距离相等。

为了买网线,组委会与当地的网络公司联系,要向他们购买一定数目的等长网线,这些网线要尽可能的长,使得组织者可以让选手们彼此远离。

于是公司指派管理网线事务的负责人解决此事。负责人清楚地知道仓库里每根网线的长度(精确到厘米:cm),他也可以将他们以厘米的精度切割——前提是他得知道切成多长。但是现在,这个长度他算不出来,于是他彻底迷茫了。

你要做的,就是帮助困惑的负责人。编一个程序求出为了得到一定数目的等长网线,每根网线最大的可能长度。

输入输出格式

输入格式:

输入文件的第一行由两个整数N和K组成,由一个空格间隔。N(1≤N≤10000)是仓库里光缆的数目,K(1≤K≤10000)是需要的网线数目。

接下来的N行每行只有一个实数,告诉你每根缆线的长度(单位:m)。这些网线至少长1m,最多不超过100km。

所有的长度精确到cm,且小数点后有且仅有两位。

输出格式:

把你求得的最大网线长度写进输出文件(单位:m)。长度要精确到cm,并且输出时小数点后要恰有两位。

如果无论如何也不可能切割出需要数目的网线(每根至少1cm长),那么就输出“0.00”(不包括引号)。

输入输出样例

输入样例#1:

4 11
8.02
7.43
4.57
5.39
输出样例#1:

2.00
 #include<cstdio>
#include<cmath> double a[];
int n,k;
bool check(double x)
{
int sum = ;
for (int i=; i<=n; ++i)
{
sum += (int)(a[i]/x);
if (sum>=k) return true ;
}
return false ;
}
int main()
{
scanf("%d%d",&n,&k);
for (int i=; i<=n; ++i)
scanf("%lf",&a[i]);
double l = 0.0, r = 1000000.0;
for (int i=; i<=; ++i)
{
double mid = (l+r)/;
if (check(mid)) l = mid;
else r = mid;
}
printf("%.2lf",floor(r*)/);
return ;
}

P1297 网线切割的更多相关文章

  1. 网线切割&切绳子

    题目描述 Wonderland居民决定举行一届地区性程序设计大赛.仲裁委员会志愿负责这次赛事并且保证会组织一次有史以来最公正的比赛.为此,所有参赛者的电脑和网络中心会以星状网络连接,也就是说,对每个参 ...

  2. Luogu P1297 [国家集训队]单选错位

    P1297 [国家集训队]单选错位 题目背景 原 <网线切割>请前往P1577 题目描述 gx和lc去参加noip初赛,其中有一种题型叫单项选择题,顾名思义,只有一个选项是正确答案.试卷上 ...

  3. P1297 [国家集训队]单选错位

    题目背景 原 <网线切割>请前往P1577 题目描述 gx和lc去参加noip初赛,其中有一种题型叫单项选择题,顾名思义,只有一个选项是正确答案.试卷上共有n道单选题,第i道单选题有ai个 ...

  4. noi 04:网线主管

    04:网线主管 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 仙境的居民们决定举办一场程序设计区域赛.裁判委员会完全由自愿组成,他们承诺要组织一次史上最公正 ...

  5. PHP搭建大文件切割分块上传功能

    背景 在网站开发中,文件上传是很常见的一个功能.相信很多人都会遇到这种情况,想传一个文件上去,然后网页提示"该文件过大".因为一般情况下,我们都需要对上传的文件大小做限制,防止出现 ...

  6. 树莓派3B的食用方法-1(装系统 网线ssh连接)

    首先要有一个树莓派3B , 在某宝买就行, 这东西基本上找到假货都难,另外国产和英国也没什么差别,差不多哪个便宜买哪个就行. 不要买店家的套餐,一个是配的东西有些不需要,有的质量也不好. 提示:除了G ...

  7. 任意多边形切割/裁剪(附C#代码实现)

    本实现主要参考了发表于2003年<软件学报>的<一个有效的多边形裁剪算法>(刘勇奎,高云,黄有群)这篇论文,所使用的理论与算法大都基于本文,对论文中部分阐述进行了详细解释,并提 ...

  8. Nginx 访问日志轮询切割

    Nginx 访问日志轮询切割脚本 #!/bin/sh Dateformat=`date +%Y%m%d` Basedir="/application/nginx" Nginxlog ...

  9. 烂泥:切割nginx日志

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 这几天自己看了下博客的nginx日志,发现日志文件发现越来越大. 因为nginx自己不会 ...

随机推荐

  1. Javascript基础--数据类型

    一.基本数据类型 1.字符类型:表示字符的类型,例:'aaa',"aaaa",'123456',''(空字符) 2.数字类型:表示数字的类型,例:0,1,3.1415936等 特殊 ...

  2. Java字体优化

    需求背景 最近在做的项目显示的字体感觉太丑,于是乎想着DIY改进一下. 查阅资料,总觉得别人写的都不咋地,于是决心写一篇略微完善点的关于项目字体优化方面的文章. 当然,这篇文章不会教你如何使用True ...

  3. AOP术语分析

    初看这么多术语,一下子都不好接受,慢慢来,很快就会搞懂. 通知.增强处理(Advice) 就是你想要的功能,也就是上说的安全.事物.日子等.你给先定义好,然后再想用的地方用一下.包含Aspect的一段 ...

  4. Vim中修改列模式的文字为ABCD或1234的递增序号

    vimrc里添加 vnoremap <F3> :<C-u>call <SID>AddCharOfCursor()<CR> "递增列模式下的字符 ...

  5. Selenium入门11 滚动条控制(通过js)

    这一节要有js基础.做web端的UI自动化必须要有html,css,javascript前端基础. 滚动条控制: 1 移动垂直滚动条 document.documentElement.scrollTo ...

  6. IOS 拦截所有push进来的子控制器

    /** * 能拦截所有push进来的子控制器 */ - (void)pushViewController:(UIViewController *)viewController animated:(BO ...

  7. Codeforces 758D Ability To Convert(区间DP)

    题目链接:http://codeforces.com/problemset/problem/758/D 题意:一个n进制下的数k,其中k不会用字母,如果有A就用10代替了.求k这个数对应的,在10进制 ...

  8. P1980 计数问题

    题目描述 试计算在区间 11 到 nn的所有整数中,数字x(0 ≤ x ≤ 9)x(0≤x≤9)共出现了多少次?例如,在 11到1111中,即在 1,2,3,4,5,6,7,8,9,10,111,2, ...

  9. 2017.11.24 算法分析与设计------Gay格雷码

    1. 格雷码问题: 对于给定的正整数n,格雷码为满足如下条件的一个编码序列: (1) 序列由2n个编码组成,每个编码都是长度为n的二进制位串. (2) 序列中无相同的编码. (3) 序列中位置相邻的两 ...

  10. 安装juicer

    由于我第一次安装 JUICER时遇到了很多问题,现在把这些问题都记录下来,给同样第一次安装使用的同学一点借鉴. 前面已经安装了Torch3和Tracter,这都是为安装Juicer做的准备,现在安装J ...