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

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Firmino 有一个正整数 dd(长度为 NN),我们将其十进制表示从左到右(从高位到低位)的各位依次记为 d0,d1,⋯ ,dN−1d_0,d_1,\cdots,d_{N-1}。

Firmino 说,这个整数背后隐藏着一个由非负整数组成的等差数列 {ai}\{a_i\}。具体来说,取非负整数 A,BA,B 和正整数 XX,定义数列

ai={A,i=0ai−1+Bi>0a_i=\begin{cases} A, & i=0 \\ a_{i-1}+B & i>0 \end{cases}

并且,这个数列满足:对于 i=0,1,⋯ ,N−1i=0,1,\cdots,N-1,aia_i 的十进制表示中(从右往左数的)第 XX 位等于 did_i。形式化地,∀i∈[0,N−1]\forall i\in [0,N-1],都有 di=⌊ai10x−1⌋ mod 10\displaystyle d_i=\left\lfloor\frac{a_i}{10^{x-1}}\right\rfloor \bmod 10。例如,114114 的第 11 位是 44,第 22 位和第 33 位都是 11。

Firmino 想问你,满足上述条件的等差数列中,首项(即 AA)的最小值是多少。由于他在脑海中只用了不到 0.5s0.5\mathrm{s} 就算出来了,所以他要求你在 5s5\mathrm{s} 内完成计算。

如果不存在满足条件的等差数列,输出 -1。

输入格式

一行一个正整数 dd。

输出格式

一行一个非负整数 AA,表示满足条件的等差数列的首项最小值。

如果不存在满足条件的等差数列,输出 -1。

输入输出样例

  • 输入#1

    6925814703
    

    输出#1

    6
    
  • 输入#2

    6925814704
    

    输出#2

    61
    
  • 输入#3

    6925814705
    

    输出#3

    -1
    
  • 输入#4

    9
    

    输出#4

    9
    

说明/提示

样例 1 解释:取 A=6,B=3,X=1A=6,B=3,X=1 满足条件。可以证明这是最小的首项。

样例 2 解释:取 A=61,B=31,X=2A=61,B=31,X=2 满足条件。可以证明这是最小的首项。

对于 100%100\% 的数据,保证 1≤N≤1041\le N\le 10^4,且 dd 不含前导零。

Statement fixed by Starrykiller.\texttt{Statement fixed by Starrykiller.}

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页