【模板】三分

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<algorithm>
 4 #include<cmath>
 5 
 6 #define rep(i,a,n) for(int i = a;i <= n;++i)
 7 #define per(i,n,a) for(int i = n;i >= a;i--)
 8 using namespace std;
 9 typedef double D;
10 #define eps 1e-6
11 const int N = 15;
12 //head
13 int n;
14 D l,r;
15 D a[N];
16 D f(D x) {
17     D ans = 0;
18     rep(i,0,n) ans = ans * x + a[i];
19     return ans;
20     
21 }
22 int main() {
23     scanf("%d%lf%lf",&n,&l,&r);
24     rep(i,0,n) scanf("%lf",&a[i]);
25     while(abs(r-l) >= eps) {
26         D m = (l+r)/2.0;
27         if(f(m-eps) > f(m+eps)) r = m;
28         else l = m;
29     }
30     printf("%.5lf",l);
31     return 0;
32 }

 

posted @ 2018-10-03 22:28  白怀潇  阅读(86)  评论(0)    收藏  举报