杭电1551Cable master
2016-07-30 10:33
295 查看
Cable master
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3857 Accepted Submission(s): 1490
[align=left]Problem Description[/align]
Inhabitants of the Wonderland have decided to hold a regional programming contest. The Judging Committee has volunteered and has promised to organize the most honest contest ever. It was decided to connect computers for the contestants
using a "star" topology - i.e. connect them all to a single central hub. To organize a truly honest contest, the Head of the Judging Committee has decreed to place all contestants evenly around the hub on an equal distance from it.
To buy network cables, the Judging Committee has contacted a local network solutions provider with a request to sell for them a specified number of cables with equal lengths. The Judging Committee wants the cables to be as long as possible to sit contestants
as far from each other as possible.
The Cable Master of the company was assigned to the task. He knows the length of each cable in the stock up to a centimeter, and he can cut them with a centimeter precision being told the length of the pieces he must cut. However, this time, the length is not
known and the Cable Master is completely puzzled.
You are to help the Cable Master, by writing a program that will determine the maximal possible length of a cable piece that can be cut from the cables in the stock, to get the specified number of pieces.
[align=left]Input[/align]
The input consists of several testcases. The first line of each testcase contains two integer numbers N and K, separated by a space. N (1 ≤ N ≤ 10000) is the number of cables in the stock, and K (1 ≤ K ≤ 10000) is the number of requested
pieces. The first line is followed by N lines with one number per line, that specify the length of each cable in the stock in meters. All cables are at least 1 centimeter and at most 100 kilometers in length. All lengths in the input are written with a centimeter
precision, with exactly two digits after a decimal point.
The input is ended by line containing two 0's.
[align=left]Output[/align]
For each testcase write to the output the maximal length (in meters) of the pieces that Cable Master may cut from the cables in the stock to get the requested number of pieces. The number must be written with a centimeter precision,
with exactly two digits after a decimal point.
If it is not possible to cut the requested number of pieces each one being at least one centimeter long, then the output must contain the single number "0.00" (without quotes).
[align=left]Sample Input[/align]
4 11
8.02
7.43
4.57
5.39
0 0
[align=left]Sample Output[/align]
2.00
[align=left]Source[/align]
2001-2002 ACM Northeastern European Regional Programming Contest
[align=left]Recommend[/align]
LL | We have carefully selected several similar problems for you: 2333 2298 1399 2446 1969
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int n,k;
double a[10010];
int judge(double mid)
{
int sum=0;
for(int i=0;i<n;i++)
sum+=(int)(a[i]/mid);
if(sum>=k)
return 1;
return 0;
}
int main()
{
int i,j;
while(scanf("%d%d",&n,&k),n||k)
{
for(i=0;i<n;i++)
scanf("%lf",&a[i]);
sort(a,a+n);
double l=0.0;
double r=a[n-1];
double mid,ans=0.0;
while((r-l)>1e-5)
{
mid=(r+l)/2;
if(judge(mid))
{
ans=mid;
l=mid;
}
else
r=mid;
}
printf("%.2lf\n",ans);
}
return 0;
}
相关文章推荐
- 设计模式之禅
- [Oracle] SQL*Loader 详细使用教程(1)- 总览
- xml报错 Parse Fatal Error :在实体引用中,实体名称必须紧跟在'&'后面
- 房产税会带动房租进一步上涨,还有20%
- Eclipse下的Android工程改名
- C语言异或运算
- HDU 5703--找规律
- IOS Dev Intro - UIView and CALayer
- 程序最小化到托盘 TTrayIcon
- Android百度地图之定位
- MySql中出现 Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (gbk_chinese_ci,COERCIBLE) for
- ip 要求
- cocos creator 如何使正在播放的动画不重置
- [Oracle] SQL*Loader 详细使用教程(2)- 命令行参数
- java基础面试题--二分查找思想的Java实现
- (UVA 11995) I Can Guess The Data Structure! --抽象数据结构判断
- 判断字符串是否由纯数字组成
- 深度学习模型训练技巧
- 放开自己你才能走的更远
- 利用OpenCV实现图像拼接的代码!