P12750 [POI 2017 R2] 数字之和 Sum of digits
题目背景
翻译来自于 [LibreOJ](https://loj.ac/p/5058)。
题目描述
**题目译自 [XXIV Olimpiada Informatyczna — II etap](https://sio2.mimuw.edu.pl/c/oi24-2/dashboard/) [Suma cyfr](https://szkopul.edu.pl/problemset/problem/Ng815bt4Fko9lj2-l7eVl3Aw/statement/)**
编写程序,在所有正整数中,找出满足数字之和为 $s$ 且能被 $m$ 整除的第 $k$ 小数。若该数不存在或超过 $200$ 位,输出 `NIE`。
输入格式
第一行包含三个正整数 $s, m, q$,分别表示数字之和、除数和测试数据组数。
接下来的 $q$ 行每行描述一组测试数据,第 $i$ 行包含一个正整数 $k_i$,表示需找第 $k_i$ 小的满足条件的数。
输出格式
输出 $q$ 行,每行对应一组测试数据的答案。第 $i$ 行输出满足数字之和为 $s$ 且可被 $m$ 整除的第 $k_i$ 小数,若该数不存在或超过 $200$ 位,输出 `NIE`。
说明/提示
**样例 1 解释**
满足数字之和为 $5$ 的数依次为:$5, 14, 23, 32, 41, 50, 104, 113, 122, \ldots$ 仅保留偶数,得到序列:$14, 32, 50, 104, 122, \ldots$ 第 $10^{18}$ 小的数超过 $200$ 位。
**附加样例**
1. $s=10, m=1, q=1, k_1=5$,答案 $55$。
2. $s=200, m=200, q=1, k_1=1$,答案 $3999999999999999999999800$。
3. $s=2, m=1, q=1, k_1=1000$,答案 `NIE`。
4. $s=5, m=2, q=200, k_i=i$。
5. $s=1, m=7, q=1, k_1=10^{18}$,答案 `NIE`。
所有测试数据满足:$1 \leq s \leq 500, 1 \leq m \leq 500, 1 \leq q \leq 1000000, 1 \leq k_i \leq 10^{18}$。
详细子任务附加限制及分值如下表所示。
| 子任务 | 附加限制 | 分值 |
| :---: | :--: | :---: |
| $1$ | $q \leq 20$,答案不超过 $1000000$ | $5$ |
| $2$ | $s=1$ | $5$ |
| $3$ | $k_i=1$ | $10$ |
| $4$ | $q=1, m=1, k_i \leq 1000$ | $15$ |
| $5$ | $q=1, m=1, k_i \leq 1000000$ | $15$ |
| $6$ | $q=1, m=1, k_i \leq 10^9$ | $15$ |
| $7$ | $m=1$ | $15$ |
| $8$ | 无附加限制 | $20$ |