洛谷 P3382 【模板】三分法
三分法求函数极值
#include<iostream>
#include<cstdio>
#include<cmath>
#define MAXN 15
using namespace std;
int n;
double l,r,a[MAXN];
double eps=1e-7;
double f(double x){
double res=0;
for(int i=n;i>=0;i--)
res=res*x+a[i];
return res;
}
int main(){
#ifdef WINE
freopen("data.in","r",stdin);
#endif
scanf("%d%lf%lf",&n,&l,&r);
for(int i=n;i>=0;i--)scanf("%lf",&a[i]);
while(fabs(l-r)>eps){
double mid=l+(r-l)/2;
if(f(mid+eps)>f(mid-eps))l=mid;
else r=mid;
}
printf("%.5lf\n",l);
return 0;
}