hdu 3714 Error Curves

来源:互联网 发布:女士44号运动鞋淘宝 编辑:程序博客网 时间:2024/05/16 17:53
#include<iostream>  #include<cstdlib>  #include<cstring>  #include<cstdio>  #include<cmath>  #include<ctime>using namespace std;const double eps=0.000000001;struct point{   double a,b,c;}x[10002];double work(double k,int n){    double max=-0x7FFFFFFF;    for(int i=0;i<n;i++){       double ans=x[i].a*k*k+x[i].b*k+x[i].c;       if(ans>max)         max=ans;    }  return max;}int main(){   int T;     cin>>T;   while(T--){       int n;       cin>>n;       for(int i=0;i<n;i++)          scanf("%lf%lf%lf", &x[i].a, &x[i].b, &x[i].c);//擦,终于长知识了,我用cin输入就超时,调了一下午发现是这这儿的问题,日啊,这都可以        double left=0;        double right=1000;        while(left+eps<right){            double mid=(left+right)/2;            double midmid=(mid+right)/2;            double t1=work(mid,n);            double t2=work(midmid,n);            if(t1>t2)               left=mid;            else               right=midmid;        }       printf("%.4lf\n",work(right,n));   }   return 0;}

原创粉丝点击