您的位置:首页 > 其它

POJ 1064 Cable master G++

2017-05-09 09:17 288 查看
#include <cstdio>
#include <cmath>
using namespace std;
//挑战程序设计竞赛 例题
//抄书
//感谢博友程序
int N,K;
double L[10001];
double INF=1000000000;
bool C(double x)
{
int num=0;
for(int i=0;i<N;i++)
{
num+=(int)(L[i]/x);
}
return num>=K;
}
int main()
{
while(scanf("%d%d",&N,&K)!=-1)//重要
{
for(int i=0;i<N;i++)
{
scanf("%lf",&L[i]);
}
double lb=0,ub=INF;
for(int i=0;i<100;i++)
{
double mid=(lb+ub)/2;
if(C(mid))
{
lb=mid;
}else
{
ub=mid;
}
}
printf("%.2f\n",floor(ub*100)/100);
}
return 0;
}







N条电缆,切成K段等长的段,求每段能切成的最大的长度。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: