AT_arc055_d [ARC055D] 隠された等差数列

Description

[problemUrl]: https://atcoder.jp/contests/arc055/tasks/arc055_d Firmino 有一个正整数 $d$(长度为 $N$),不妨把它十进制表示下从左往右(从高往低)的数位依次记为 $d_0,d_1,\cdots,d_{N-1}$。 Firmino 说,这个整数后面藏着一个由非负整数组成的等差数列 $\{a_i\}$。具体地说,取非负整数 $A,B$ 和正整数 $X$,定义数列 $$ a_i=\begin{cases} A, & i=0 \\ a_{i-1}+B & i\gt 0 \end{cases} $$ 并且,这个数列满足:对于 $i=0,1,\cdots,N-1$,有 $a_i$ 的十进制表示下的(**从右往左数的**)第 $X$ 位是 $d_i$。形式化地,$\forall i\in [0,N-1]$,都有 $\displaystyle d_i=\left\lfloor\frac{a_i}{10^{x-1}}\right\rfloor \bmod 10$。例如,$114$ 的第 $1$ 位是 $4$,第 $2$ 和第 $3$ 位是 $1$。 Firmino 想要问你,满足如上条件的等差数列中,首项(即 $A$)最小是多少。由于他在脑中只用了不到 $0.5\mathrm{s}$ 就完成了计算,因此他让你在 $5\mathrm{s}$ 内完成计算。 如果不存在满足条件的等差数列,输出 `-1`。

Input Format

一行一个正整数 $d$。

Output Format

一行一个非负整数 $A$,表示满足条件的等差数列的首项最小值。 如果不存在满足条件的等差数列,输出 `-1`。

Explanation/Hint

样例 1 解释:取 $A=6,B=3,X=1$ 满足条件。可以证明这是最小的首项。 样例 2 解释:取 $A=61,B=31,X=2$ 满足条件。可以证明这是最小的首项。 对于 $100\%$ 的数据,保证 $1\le N\le 10^4$,且 $d$ 不含前导零。 $\texttt{Statement fixed by Starrykiller.}$