就是二分
#include#include #include #include #include using namespace std;const double pi=acos(-1.0);const int maxn=10000+100;int t,n,f;double a[maxn];const double esp=1e-5;bool is_ok(double ss){ int ans=0; for(int i=1;i<=n;i++) ans+=floor(a[i]/ss); if(ans esp) { double mid=(l+r)/2.0; if(is_ok(mid)) r=mid; else l=mid; } printf("%.4lf\n",l); } return 0;}