计蒜客 28317.Growling Gears-一元二次方程的顶点公式 (Benelux Algorithm Programming Contest 2014 Final ACM-ICPC Asia Training League 暑假第一阶段第二场 G)
G. Growling Gears
此题为签到题,直接中学的数学知识点,一元二次方程的顶点公式(-b/2*a,(4*a*c-b*b)/4*a);直接就可以得到结果。
代码:
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<cstdlib> 6 #include<queue> 7 #include<map> 8 #include<algorithm> 9 using namespace std; 10 typedef long long ll; 11 const int maxn=1e5+10; 12 int main(){ 13 int t;scanf("%d",&t); 14 while(t--){ 15 int n;scanf("%d",&n); 16 int a,b,c; 17 ll maxx=-1;int ans; 18 for(int i=1;i<=n;i++){ 19 scanf("%d%d%d",&a,&b,&c); 20 ll cnt=(4*a*c*(-1)-b*b)/(4*a*(-1)); 21 if(maxx<=cnt){ 22 maxx=cnt; 23 ans=i; 24 } 25 } 26 printf("%d ",ans); 27 } 28 return 0; 29 }