SRM387 Div2 250

問題

初項pで公差qの等差数列か公比qの等比数列であるような数列Aが与えられる。
Aの最後の要素の次の要素を返す。

考え方

等差なのか等比なのかがわかればすぐに計算できるので、その判定をする。
数列Aは要素が3以上なので、
p, (p+q), (p+2q),...
または
p, pq, pq^2,...
になる。(2項目-1項目)と(3項目-2項目)を比較すると、
等差数列ならばどちらもqとなる。等比数列
p(q-1)とpq(q-1)となり、q=1の時以外は異なることがわかる。
q=1とは、すべての数列の要素が同じときで、等差とも等比とも取れてしまうが、制約よりそのような数列は与えられない。
判定できたら数列の最後の要素に足すかかければよい。