题目背景
翻译来自于 LibreOJ。
题目描述
题目译自 XXIV Olimpiada Informatyczna — II etap Suma cyfr
编写程序,在所有正整数中,找出满足数字之和为 s 且能被 m 整除的第 k 小数。若该数不存在或超过 200 位,输出 NIE
。
输入格式
第一行包含三个正整数 s,m,q,分别表示数字之和、除数和测试数据组数。
接下来的 q 行每行描述一组测试数据,第 i 行包含一个正整数 ki,表示需找第 ki 小的满足条件的数。
输出格式
输出 q 行,每行对应一组测试数据的答案。第 i 行输出满足数字之和为 s 且可被 m 整除的第 ki 小数,若该数不存在或超过 200 位,输出 NIE
。
5 2 3
2
4
1000000000000000000
32
104
NIE
提示
样例 1 解释
满足数字之和为 5 的数依次为:5,14,23,32,41,50,104,113,122,… 仅保留偶数,得到序列:14,32,50,104,122,… 第 1018 小的数超过 200 位。
附加样例
- s=10,m=1,q=1,k1=5,答案 55。
- s=200,m=200,q=1,k1=1,答案 3999999999999999999999800。
- s=2,m=1,q=1,k1=1000,答案
NIE
。
- s=5,m=2,q=200,ki=i。
- s=1,m=7,q=1,k1=1018,答案
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≤20,答案不超过 1000000 |
5 |
2 |
s=1 |
3 |
ki=1 |
10 |
4 |
q=1,m=1,ki≤1000 |
15 |
5 |
q=1,m=1,ki≤1000000 |
6 |
q=1,m=1,ki≤109 |
7 |
m=1 |
8 |
无附加限制 |
20 |