https://vj.xtuacm.cf/contest/view.action?cid=115#problem/K
三分简单题
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstring>
#include <algorithm>
#define ll long long
const int maxn=10000;
using namespace std;
int a[maxn+10],b[maxn+10],c[maxn+10];
double f(double n,int k)
{
double s=a[0]*n*n+b[0]*n+c[0];
for(int i=1;i<k;i++)
s=max(s,a[i]*n*n+b[i]*n+c[i]);
return s;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d%d%d",&a[i],&b[i],&c[i]);
}
double m,mm;
double l=0,r=1000;
while(fabs(r-l)>1e-12)
{
m=l+(r-l)/3;
mm=l+2*(r-l)/3;
if(f(m,n)<f(mm,n))r=mm;
else l=m;
}
printf("%.4f\n",f(l,n));
}
return 0;
}