芙莉莲与屏障
时间限制: 2 秒
内存限制: 256 MB
输入: 标准输入
输出: 标准输出
题目描述
芙莉莲正在分析由泽莉叶在一级魔法师考试第一试场地周围设置的屏障。泽莉叶是最古老且最强大的魔法师之一,因此摧毁这个屏障并不容易。但芙莉莲也有着千年的丰富经验,她立刻意识到这个屏障由 $n$ 个整数 $a_i$ 参数化。
为了摧毁屏障,芙莉莲需要根据这些 $a_i$ 找到屏障的关键序列。关键序列恰好由 $k$ 个整数 $b_i$ 组成,其中
$$b_i = \operatorname{mex}\left( \left\lfloor\frac{a_1}{i}\right\rfloor, \left\lfloor\frac{a_2}{i}\right\rfloor, \ldots, \left\lfloor\frac{a_n}{i}\right\rfloor \right).$$
这里 $\operatorname{mex}$ 表示序列中未出现的最小非负整数,而 $\left\lfloor\frac{a_j}{i}\right\rfloor$ 表示 $a_j$ 除以 $i$ 的整数部分。例如,当 $i = 3$ 且 $a = [1, 2, 5, 6, 13, 23]$ 时,除以 $i$ 后得到序列 $[0, 0, 1, 2, 4, 7]$,而 $\operatorname{mex}(0, 0, 1, 2, 4, 7) = 3$。
换句话说,对于每个 $i$ 从 $1$ 到 $k$,需要计算由 $a$ 整除 $i$ 得到的序列的 $\operatorname{mex}$。请帮助芙莉莲找到屏障的关键序列,以便她能够摧毁屏障并帮助她的队友。
输入格式
第一行包含两个整数 $n$ 和 $k$ —— 序列 $a$ 的长度和所求关键序列的长度($1 \le n, k \le 10^6$)。
第二行包含 $n$ 个整数 $a_i$ —— 屏障参数序列的元素($0 \le a_i \le 10^6$)。
输出格式
在一行中输出 $k$ 个整数——屏障的关键序列元素。
数据范围与子任务
每个子任务的分数仅在通过该子任务及其必要子任务的所有测试时获得。
| 子任务 | 分数 | 限制 | 必要子任务 | 检查信息 |
|---|---|---|---|---|
| 1 | 12 | $n, k \le 100$ | 无 | 完全 |
| 2 | 13 | 对所有 $i$,$a_i \le 10$ | 无 | 首次错误 |
| 3 | 13 | $n \le 10$ | 无 | 首次错误 |
| 4 | 12 | $n, k \le 1000$ | 1 | 首次错误 |
| 5 | 21 | $n, k \le 10^5$ | 1, 4 | 首次错误 |
| 6 | 29 | 无额外限制 | 1–5 | 首次错误 |
样例
样例 1
输入
6 5
1 5 23 6 13 2
输出
0 4 3 2 3
样例 2
输入
10 10
5 9 8 13 25 7 11 6 45 10
输出
0 0 0 0 0 3 2 2 3 3
