三分
https://www.luogu.com.cn/problem/P3382
函数一定要严格单调
#include<bits/stdc++.h>
#define db double
const db eps=1e-8;
using namespace std;
const int N=20;
int n; db l,r,a[N];
inline db f(db x) {
db ret=0;
for(int i=n;i>=0;i--) {
ret=ret*x+a[i];
}
return ret;
}
int main() {
scanf("%d%lf%lf",&n,&l,&r);
for(int i=n;i>=0;i--) {
scanf("%lf",&a[i]);
}
while(r-l>eps) {
db mid=(l+r)/2;
if(f(mid+eps)>f(mid-eps)) l=mid;
else r=mid;
}
printf("%.5f\n",l);
return 0;
}

浙公网安备 33010602011771号