Submit Time:2024-01-25 16:59:32

运行 ID: 128347

#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; }