记录编号 409676 评测结果 AAAAAAAAAAAAA
题目名称 网线切割 最终得分 100
用户昵称 GravatarEmine 是否通过 通过
代码语言 C++ 运行时间 0.040 s
提交时间 2017-05-28 20:46:00 内存使用 0.35 MiB
显示代码纯文本
#include<cstdio>
#include<iostream>
#include<cstdio>
using namespace std;

int n,k,a[10010],l,r,mid,i;

int check(int m)
{
	int ans=0;
	for(i=1;i<=n;i++)ans+=(a[i]/m);
	if(ans>=k)return 1;
	else return 0;
}

int main()
{
	freopen("cable.in","r",stdin);
	freopen("cable.out","w",stdout);
	scanf("%d%d",&n,&k);
	for(i=1;i<=n;i++){
		double x;
		scanf("%lf",&x);
		a[i]=float(x*100.0);
		if(r<a[i]) r=a[i];
	}
	r++;
	while(l+1<r){
		mid=(l+r)/2;
		if(check(mid)) l=mid;
		else r=mid;
	}
	printf("%.2lf",l/100.0);
	return 0;
}