A. AT_arc060_D 桁和

    Type: Default 1000ms 256MiB

AT_arc060_D 桁和

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

AT_arc060_b [ABC044D] 桁和

题目描述

对于 22 以上的整数 bb 以及 11 以上的整数 nn,定义函数 f(b,n)f(b,n) 如下:

  • n<bn < b 时,f(b,n)=nf(b,n) = n
  • nbn \geq b 时,$f(b,n) = f(b,\,\mathrm{floor}(n / b)) + (n \bmod b)$。

这里,floor(n/b)\mathrm{floor}(n / b) 表示不超过 n/bn / b 的最大整数,nmodbn \bmod b 表示 nn 除以 bb 的余数。

直观来说,f(b,n)f(b,n) 就是将 nnbb 进制表示时各位数字之和。例如:

  • f(10,87654)=8+7+6+5+4=30f(10,\,87654) = 8 + 7 + 6 + 5 + 4 = 30
  • f(100,87654)=8+76+54=138f(100,\,87654) = 8 + 76 + 54 = 138

给定整数 nnss。请判断是否存在 22 以上的整数 bb 使得 f(b,n)=sf(b,n) = s。如果存在,请求出满足条件的最小 bb

输入格式

输入以如下格式从标准输入读入:

nn ss

输出格式

如果存在 22 以上的整数 bb 满足 f(b,n)=sf(b,n) = s,请输出最小的这样的 bb。如果不存在,请输出 -1

输入输出样例 #1

输入 #1

87654
30

输出 #1

10

输入输出样例 #2

输入 #2

87654
138

输出 #2

100

输入输出样例 #3

输入 #3

87654
45678

输出 #3

-1

输入输出样例 #4

输入 #4

31415926535
1

输出 #4

31415926535

输入输出样例 #5

输入 #5

1
31415926535

输出 #5

-1

说明/提示

限制条件

  • 1n10111 \leq n \leq 10^{11}
  • 1s10111 \leq s \leq 10^{11}
  • n,sn,\,s 均为整数。

由 ChatGPT 4.1 翻译

251214测试

Not Attended
Status
Done
Rule
OI
Problem
6
Start at
2025-12-13 8:00
End at
2025-12-13 16:00
Duration
8 hour(s)
Host
Partic.
15