Warning: session_start(): open(/tmp/sess_6d61103a351c7da9e4dc351277a29f05, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/Action/Export.php on line 103
#include #include #include #include #include #define maxn 15 using namespace std; const double eps=1e-7; int n; double l,r; double a[maxn]; double myabs(double now) { return now>0 ? now : -now; } double judge(double now) { double ans=0.0; for(int i=0;i<=n;i++) { ans+=a[i]*pow(now,i); } return ans; } int main() { scanf("%d%lf%lf",&n,&l,&r); for(int i=n;i>=0;i--) scanf("%lf",&a[i]); while(myabs(r-l)>=eps) { double mid1=l+((r-l)/3.0); double mid2=l+((r-l)/3.0*2.0); if(judge(mid1)>judge(mid2)) { r=mid2; } else l=mid1; } printf("%.5lf\n",l); }