1 #include <iostream>
2 #include <cstdio>
3 using namespace std;
4 int n;
5 const double eps = 1e-7;
6 double l , r;
7 double x[15];
8 double check(double q)
9 {
10 double ans = 0.0;
11 for(int i = n; i >= 0; i--)
12 ans = ans * q + x[i];
13 return ans;
14 }
15 int main()
16 {
17 scanf("%d%lf%lf" , &n , &l , &r);
18 for(int i = n; i >= 0; i--)
19 scanf("%lf" , &x[i]);
20 while(r - l > eps)
21 {
22 double mid = (l + r) / 2;
23 if(check(mid - eps) < check(mid + eps))
24 l = mid;
25 else
26 r = mid;
27 }
28 printf("%.5f" , (l + r) / 2);
29 return 0;
30 }
三分法