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;}