https://www.luogu.org/problemnew/show/P3382
学一下三分。。存模板
#include <bits/stdc++.h>
using namespace std;
const double eps=1e-6;
const int maxn=20;
double p[maxn];
double l,r;
int n;
double getval(double x)
{
double res,cur;
int i;
res=0.0,cur=1.0;
for(i=0;i<=n;i++){
res+=cur*p[i];
cur*=x;
}
return res;
}
int main()
{
double m,mm;
int i;
scanf("%d%lf%lf",&n,&l,&r);
for(i=n;i>=1;i--){
scanf("%lf",&p[i]);
}
while(r-l>=eps){
m=(l+r)/2.0,mm=(m+r)/2.0;
if(getval(m)<getval(mm)) l=m;
else r=mm;
}
printf("%.5f\n",l);
return 0;
}