luogu#P8982. 「DROI」Round 1 下坠

「DROI」Round 1 下坠

题目背景

下坠是有终点的吗?

题目描述

ff 是定义在 N+\mathbb{N^+} 上的函数。

我们令 aia_i 表示 xx 从低到高第 ii 位,那么 f(x)=i=1len(ai+1)f(x)= \prod_{i=1}^{len} (a_i+1)lenlen 表示 xx 的位数)。

如果对于一个数 xx,存在 yy 使得 f(y)=xf(y)=x,那我们称 xx 是下坠数。

现在有 QQ 次询问,每次询问会给出一个正整数 kk

xx 表示所有下坠数中第 kk 小的下坠数,那么请你找到一个最小的 yy,使得 f(y)=xf(y)=x。若不存在一个 y[1,1018]y \in [1,10^{18}] 满足条件,则输出 1-1

输入格式

第一行输入一个整数 QQ,表示询问次数。

接下输入一行 QQ 个数,第 ii 个数表示第 ii 次询问的 kk

输出格式

输出一行 QQ 个数,第 ii 个数表示第 ii 次询问你找到的答案。

3
1 2 3
1 2 3
3
9 14 46666666
9 18 -1

提示

样例解释 #1

注意到 ff 的定义域是 N+\mathbb{N^+},所以 11 不是下坠数。则前三个下坠数分别为 2,3,42,3,4,对应的 yy 值则为 1,2,31,2,3


样例解释 #2

991414 个下坠数分别为 10101818,其对应的 yy 值则为 991818。可以证明,第 4666666646666666 个下坠数对应的 y>1018y > 10^{18}


数据范围

对于 100%100\% 的数据满足:Q105Q \leq 10^5k5×107k \leq 5 \times 10^7

其中对于 10%10\% 的数据满足:k100k \leq 100

对于 30%30\% 的数据满足:k5×103k \leq 5 \times 10^3

对于另外 20%20\% 的数据满足:对于所有被询问到的下坠数 xx,都有 xy100\vert x-y \vert \leq 100 或者 y>1018y > 10^{18}

请注意不同寻常的时间限制。