链接Miku
三分模板
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n;
double l,r;
double xi[20];
double xiu=0.000001;
double check(double x){
double ans=0.0;
for(int i=1;i<=n;++i){
double anss=1.0;
for(int j=1;j<=i;++j)
anss*=x;
ans=ans+anss*xi[n-i+1];
}
return ans;
}
int main(){
scanf("%d%lf%lf",&n,&l,&r);
for(int i=1;i<=n;++i){
scanf("%lf",&xi[i]);
}
while(l+xiu<r){
double ll=l+(r-l)*0.3;
double rr=l+(r-l)*0.7;
if(check(ll)<check(rr))
l=ll;
else
r=rr;
}
printf("%.5lf",l);
return 0;
}