CF1428G2 Lucky Numbers (Hard Version)

题目描述

这是该问题的难度较高版本,唯一的区别在于 $q$ 的约束条件。只有在所有版本的问题都被解决后,你才能进行 hack。 动物园管理员正在教他的 $q$ 只羊如何写数字和做加法。第 $i$ 只羊需要写出恰好 $k$ 个非负整数,这些整数的和为 $n_i$。 奇怪的是,羊对数字有迷信,认为数字 $3$、$6$ 和 $9$ 是幸运数字。对它们来说,一个数的“幸运值”取决于它的十进制表示;一个数的幸运值等于其各位数字幸运值之和,而一个数字的幸运值取决于其数值和所在位置,可以用下表描述。例如,数字 $319$ 的幸运值为 $F_{2} + 3F_{0}$。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1428G2/2e5dc16252276b0ec85d4bf61f3eff843360d5df.png) 每只羊都希望在它写出的 $k$ 个整数中,使幸运值之和最大。你能帮帮它们吗?

输入格式

第一行包含一个整数 $k$($1 \leq k \leq 999999$),表示每只羊需要写的数字个数。 第二行包含六个整数 $F_0, F_1, F_2, F_3, F_4, F_5$($1 \leq F_i \leq 10^9$),表示每个数字对应位置的幸运值。 第三行包含一个整数 $q$($1 \leq q \leq 100\,000$),表示羊的数量。 接下来的 $q$ 行,每行包含一个整数 $n_i$($1 \leq n_i \leq 999999$),表示第 $i$ 只羊需要写出的数字之和。

输出格式

输出 $q$ 行,第 $i$ 行输出第 $i$ 只羊能获得的最大幸运值之和。

说明/提示

在第一个测试样例中,$57 = 9 + 9 + 39$。三个 $9$ 在个位上贡献 $1 \cdot 3$,$39$ 中十位上的 $3$ 贡献 $2 \cdot 1$,因此幸运值之和为 $11$。 在第二个测试样例中,$63 = 35 + 19 + 9$,幸运值之和为 $8$。 由 ChatGPT 4.1 翻译