Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
128347 陆妍凯 切割金属棍 C++ 解答错误 0 42 MS 1048 KB 511 2024-01-25 16:59:32

Tests(0/10):


#include<iostream> #include<cstdio> using namespace std; const int NR=100010; int n,k; double a[NR]; bool judge(double x) { int i,s=0; for(i=1;i<=n;i++) s+=(int)(a[i]/x); if(x<k) return false; return true; } int main() { int i; double left=1,right=n,ans=0; cin>>n>>k; for(i=1;i<=n;i++) cin>>a[i]; while(left<right) { double mid=(left+right)/2; if(judge(mid)==true) { if(ans<mid) ans=mid; left=mid; } else right=mid; } printf("%.2f\n",ans); return 0; }


测评信息: