|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"文章中找新博客地址

生成一个n*n的方阵,然后输出此方阵对角线上元素之和

//输入一个正整数n(1 //公式为a[i][j]=i*n+j+1 (0= 源代码: #include #include #define N 10 //输入一个正整数n(1...
  • u012110719
  • u012110719
  • 2015年04月02日 10:01
  • 2024

2016网易内推笔试编程题合集(一)

本文章收录了2016年暑期网易内推笔试编程题合集(一),共八题,题目来源于牛客网。...
  • jhgkjhg_ugtdk77
  • jhgkjhg_ugtdk77
  • 2016年08月12日 16:54
  • 8952

蓝桥杯在线测试的题解(二)

蓝桥杯在线测试的题目。不定时不断更新中,没按顺序做。
  • murmured
  • murmured
  • 2014年02月16日 19:25
  • 3030

1.11编程基础之二分查找 04:网线主管

04:网线主管 描述 仙境的居民们决定举办一场程序设计区域赛。裁判委员会完全由自愿组成,他们承诺要组织一次史上最公正的比赛。他们决定将选手的电脑用星形拓扑结构连接在一起,即将它们全部连到一个单一的中...
  • qq_37657307
  • qq_37657307
  • 2017年05月20日 16:57
  • 179

OpenJudge 1.11-04 网线主管

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

【openjudge】网线主管 二分查找

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

OpenJudge_P0066 网线主管

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

|NOIOJ|二分|06:月度开销

描述 农夫约翰是一个精明的会计师。他意识到自己可能没有足够的钱来维持农场的运转了。他计算出并记录下了接下来 N (1 ≤ N ≤ 100,000) 天里每天需要的开销。 约翰打算为连续的M (1 ...
  • Darost
  • Darost
  • 2016年05月31日 06:36
  • 2018

|NOIOJ|NOIP2015|二分|10:河中跳房子

描述 每年奶牛们都要举办各种特殊版本的跳房子比赛,包括在河里从一个岩石跳到另一个岩石。这项激动人心的活动在一条长长的笔直河道中进行,在起点和离起点L远 (1 ≤ L≤ 1,000,000,000) ...
  • Darost
  • Darost
  • 2016年05月29日 21:42
  • 1709

|NOIOJ|二分归并|7622:求排列的逆序数

描述 在Internet上的搜索引擎经常需要对信息进行比较,比如可以通过某个人对一些事物的排名来估计他(或她)对各种不同信息的兴趣,从而实现个性化的服务。 对于不同的排名结果可以用逆序来评价它们之...
  • Darost
  • Darost
  • 2016年05月29日 11:52
  • 397
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:|NOIOJ|二分|04:网线主管
举报原因:
原因补充:

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