https://yukicoder.me/problems/no/538
解法
https://yukicoder.me/submissions/185283
まず代入してみる。
B3 = rB2 + d
B2 = rB1 + d
連立方程式でr,dを求めると
r = (B3 - B2) / (B2 - B1)
d = (B2^2 - B1 * B3) / (B2 - B1)
ここから次の項を求める
B4 = rB3 + d
= (B3^2 - B2*B3 + B2^2 - B1*B3) / (B2 - B1)
オーバーフロー対策にlong longを使ってやると通る。
typedef long long ll; ll B1, B2, B3; //--------------------------------------------------------------------------------------------------- void _main() { cin >> B1 >> B2 >> B3; ll B4 = (B3 * B3 - B2 * B3 + B2 * B2 - B1 * B3) / (B2 - B1); cout << B4 << endl; }