[Codeforces] Codeforces Round #667 (Div. 3) C. Yet Another Array Restoration

問題

方針

数列 \( a_n \) は等差数列なので、初項を \( a \)、公差を \( d \) とすると、\( a_n = a_1 + (n – 1)d\) となります。したがって、\( i < j \) とし、\( i \) 番目の項が \( x \) で \( j \) 番目の項が \( y \) であるとき、

\begin{eqnarray}
x  &=& a + (i – 1)d\\
y &=& a + (j – 1)d
\end{eqnarray}

が成り立ちます。これらを \( d \) について解くと、

\[ d = \dfrac{y- x}{j – i}\]

なります。\( d \) は整数となる必要があるので、\( d \) が整数であるとき、\( a_n \) の最小値を全探索します。

コード