問題はこちら
No.538 N.G.S. - yukicoder
数学するだけ
連立方程式
を解き
を得る。求める答えはであるからこれに代入して
となる。
は最大10^5なので2乗すると32bitの範囲に収まらないことに注意する
long a,b,c; main(){ scanf("%ld%ld%ld",&a,&b,&c); printf("%ld",(c*c+b*b-b*c-a*c)/(b-a)); }
式をぐっと睨むと(c*c+b*b-b*c-a*c)/(b-a)をc+(b-c)*(b-c)/(b-a)と書き換えられることがわかる(自力では気づけず)
long b,c; main(a){ scanf("%d%ld%ld",&a,&b,&c); printf("%ld",c+(b-c)*(b-c)/(b-a)); }
79B