1,这题是个啥啊。
2,过个样例还是可以的
#include<iostream> #include<algorithm> #include<math.h> using namespace std; int N,K; double L[1005]; bool C(double x) { int num=0; for(int i=0;i<N;i++) { num+=(int)(L[i]/x); } return num>=K; } int main(){ scanf("%d%d",&N,&K); for(int i=0;i<N;i++) scanf("%lf",&L[i]); double lb=0; double ub=100000005; for(int i=0;i<100;i++) { double mid=(lb+ub)/2; if(C(mid)) lb=mid; else ub=mid; } printf("%.2f ",floor(ub*100)/100); }
3,
1、函数原型:
1 double floor ( double x ); 2 float floor ( float x ); 3 long double floor ( long double x );
2、功能:返回一个小于传入参数的最大整数
3、参数:x为将来被处理的数
4、返回值:返回不大于x的最大整数
5、注在C语言中只有double一个原型