|NOIOJ|二分|04:网线主管

原创 2016年05月31日 19:10:27
描述

仙境的居民们决定举办一场程序设计区域赛。裁判委员会完全由自愿组成,他们承诺要组织一次史上最公正的比赛。他们决定将选手的电脑用星形拓扑结构连接在一起,即将它们全部连到一个单一的中心服务器。为了组织这个完全公正的比赛,裁判委员会主席提出要将所有选手的电脑等距离地围绕在服务器周围放置。

为购买网线,裁判委员会联系了当地的一个网络解决方案提供商,要求能够提供一定数量的等长网线。裁判委员会希望网线越长越好,这样选手们之间的距离可以尽可能远一些。

该公司的网线主管承接了这个任务。他知道库存中每条网线的长度(精确到厘米),并且只要告诉他所需的网线长度(精确到厘米),他都能够完成对网线的切割工作。但是,这次,所需的网线长度并不知道,这让网线主管不知所措。

你需要编写一个程序,帮助网线主管确定一个最长的网线长度,并且按此长度对库存中的网线进行切割,能够得到指定数量的网线。

输入
第一行包含两个整数N和K,以单个空格隔开。N(1 <= N <= 10000)是库存中的网线数,K(1 <= K <= 10000)是需要的网线数量。
接下来N行,每行一个数,为库存中每条网线的长度(单位:米)。所有网线的长度至少1m,至多100km。输入中的所有长度都精确到厘米,即保留到小数点后两位。
输出
网线主管能够从库存的网线中切出指定数量的网线的最长长度(单位:米)。必须精确到厘米,即保留到小数点后两位。
若无法得到长度至少为1cm的指定数量的网线,则必须输出“0.00”(不包含引号)。
样例输入
4 11
8.02
7.43
4.57
5.39
样例输出
2.00

依然二分题,注意以下几个细节:

1、由于精度问题,把输入数据*100放入整数数组

2、r要在最长电线上+1,因为会出现整条电线用完的情况

Ps:WA了几次就因为这两问题。

参考代码:

#include<cstdio>
int n,k; 
int a[10200];
int l=0, mid, r=0;
void init() {
	scanf("%d%d", &n, &k);
	for (int i=1;i<=n;i++) {
		double t;
		scanf("%lf", &t);
		a[i] = (float)(t*100.0);
		if (a[i]>r) r=a[i];
	} 
	r++;
}
int check(int x) {// 比f多 return 1
	int ans=0;
	for (int i=1;i<=n;i++) {
		ans += a[i] / x;
	}
	if (ans>=k) return 1; else return 0; 
}
void go() {
	while (l+1<r) {
		mid = (l+r)/2;
		if (check(mid)) l=mid; else r=mid;
	}
	printf("%.2lf", l / 100.0); 
}
int main() {	
	init();
	go();
	return 0;
}


版权声明:博客停更,请到"再见,CSDN"文章中找新博客地址

相关文章推荐

openjudge1.11编程基础之二分查找 04:网线主管

04:网线主管总时间限制: 1000ms 内存限制: 65536kB描述仙境的居民们决定举办一场程序设计区域赛。裁判委员会完全由自愿组成,他们承诺要组织一次史上最公正的比赛。他们决定将选手的电脑用星形...

OpenJudge_P0066 网线主管

总时间限制: 1000ms 内存限制: 65536kB 描述 仙境的居民们决定举办一场程序设计区域赛。裁判委员会完全由自愿组成,他们承诺要组织一次史上最公正的比赛。他们决定将选手的电脑用星形拓扑结...

Openjudge NOI题库1.11编程基础之二分查找04 网线管理

总时间限制: 1000ms 内存限制: 65536kB 描述 仙境的居民们决定举办一场程序设计区域赛。裁判委员会完全由自愿组成,他们承诺要组织一次史上最公正的比赛。他们决定将选手的电脑用星形拓扑...

POJ网线主管

总时间限制: 1000ms 内存限制: 65536kB 描述 仙境的居民们决定举办一场程序设计区域赛。裁判委员会完全由自愿组成,他们承诺要组织一次史上最公正的比赛。他们决定将选手的电脑用星形拓扑结...

OpenJudge 1.11-04 网线主管

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

04:网线主管OJ

总时间限制: 1000ms内存限制: 65536kB 描述 仙境的居民们决定举办一场程序设计区域赛。裁判委员会完全由自愿组成,他们承诺要组织一次史上最公正的比赛。他们决定将选手的电脑用星形...

二分猜+回溯 Vijos P1197 切割网线(。。。跪着打完了这题QWQ)

爆炸了一个下午,我真的是。。。回溯啊啊啊啊啊啊ORZ 绝望。。。。绝望。。。。绝望。。。。 然而我AC啦!!!...

Linux下检测网卡与网线的连接状态

在机顶盒的网络连接中,其中有一项就是检测网卡与网线是否连接,当没有连接网线时,通过浏览器打开错误页面提示网线未连接。那么如何检测网卡与网线是否连接。 一、使用ioctl向socket发送SIOCET...

常用网线的规格及型号总结

常用网线的规格及型号总结 网线多种多样,规格和型号多种多样,以下做一些总结,便于工作。 一、常用各种字母代表的含义: R-连接用软电缆(电线),软结构。 V-绝缘聚氯乙烯。 V-聚氯乙烯绝缘V-...

c#通过网线读取三菱PLC数据

一、写入PLC数据 public static bool PlcWrite(int adres, int count, string SendData) { if (...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:|NOIOJ|二分|04:网线主管
举报原因:
原因补充:

(最多只允许输入30个字)