uva 1476 - Error Curves

时间:2023-03-09 05:37:28
uva 1476 - Error Curves

对x的坐标三分;

 #include<cstdio>
#include<algorithm>
#define maxn 10009
using namespace std;
double a[maxn],b[maxn],c[maxn];
int n;
double f(double x)
{
double ans=-999999999.0,t;
for(int i=;i<n;i++)
{
t=a[i]*x*x+b[i]*x+c[i];
ans=max(ans,t);
}
return ans;
} int main()
{
int t;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(int i=;i<n;i++)
{
scanf("%lf%lf%lf",&a[i],&b[i],&c[i]);
}
double l=,r=;
for(int i=;i<;i++)
{
double m1=l+(r-l)/;
double m2=r-(r-l)/;
if(f(m1)<f(m2))r=m2;
else l=m1;
}
printf("%.4lf\n",f(l));
}
return ;
}