P6921 [ICPC 2016 WF] Forever Young
题目描述
# 题目大意
我的生日快到了!唉,但如今我已经老了,我想重新获得年轻的感觉。
幸运的是,我想出了一个让人感觉更年轻的好方法:如果我把我的年龄以适当选择的 $b$ 进制书写,那么它看起来会更小。例如,假设我以 $10$ 进制书写的年龄是 $32$ 岁;以 $16$ 进制书写,它只有 $20$($\texttt{0x20}$)!
然而,在这样做时,我不能选择任意进制数。如果以 $b$ 进制为数写的我的年龄包含 $0-9$ 以外的数字,那么很明显我在作弊,这违背了目的。此外,如果我的年龄写成 $b$ 进制后数字太小,那么很明显我在作弊。
在我希望我的年龄看起来有多小的问题上,考虑到我的年龄 $y$ 和下限 $l$,找到最大的进制数 $b$,这样写在基数 $b$ 中的 $y$ 只包含十进制数字,并且当将其看做一个十进制数字时至少是 $l$。
输入格式
输入由一行组成,其中包含两个 $10$ 进制的整数 $y$($10\le y\le10^{18}$ – 是的,我很老)和 $l$($10\le l \le y$)
输出格式
如上所述,输出最大进制数 $b$。
说明/提示
时间限制:1s,内存限制:1GB。
2016 年国际大学生编程大赛 ACM-ICPC 世界总决赛。