题目描述:
某地区即将举行区域程序设计比赛,竞赛委员会已经成立并决定举行一次最公平的竞赛, 他们决定利用星形拓扑结构来连接每个竞赛者的电脑---也即连接这些电脑到一个中心HUB上 为了达到真正的公平竞赛目的,竞赛委员会主任下令要求:每个竞赛电脑连接到中心HUB的 电缆必须是一样长的。竞赛委员会联系了一个本地的电缆老板,要求老板为他们提供一定量 的相同长度的电缆,而且要求电缆长度越长越好。通过调查,电缆老板知道仓库中每根电缆 的长度(精确到厘米),而且他可以以厘米的精度剪断电缆,但确不知道他能为竞赛委员会 提供的每根电缆的最大长度是多少? 你的任务就是:编程求出每根电缆的最大可能的长度。
要求:采用分治法求解。
输入:
第1行,2个整数N和K,N是仓库中的电缆条数,K是竞赛委员会要求的电缆条数。 其中 1 < N < 10000, 1 < K < 10000 第2至第N+1行,每行为仓库中的一条电缆的长度,单位为米。
输出:
仅1行,为提供给竞赛委员的电缆最大长度(精确到小数点两位)
测试用例:
输入: 4 11 8.02 7.43 4.57 5.39
输出: 2.00
思路:利用二分法解决,先求电缆总长度,再求可提供电缆长度的范围,对该范围进行二分法求解
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algor