本题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1551
本题是给出电缆段数及每段长度,让求截出所给段数截得的每段的最大长度,AC代码:
#include<stdio.h>
#include<algorithm>
using namespace std;
double a[10100];
int n,k;
int F(double x)
{
int i;
int sum=0;
for(i=0;i<n;i++)
sum+=(int)(a[i]/x);
return sum;
}
int main()
{
while(scanf("%d%d",&n,&k)!=EOF&&(n||k))
{
int i;
for(i=0;i<n;i++)
scanf("%lf",&a[i]);
double l,r,mid;
l=1;
r=100000;
while(r-l>1e-10)
{
mid=(l+r)/2;
if(k<=F(mid)) l=mid;
else r=mid;
}
printf("%.2lf\n",mid);
}
return 0;
}



被折叠的 条评论
为什么被折叠?



