AT_agc003_e [AGC003E] Sequential operations on Sequence
题目描述
高桥君从妈妈那里得到了一个数列。这个数列的长度为 $N$,第 $i$ 项的元素为 $i$。高桥君对这个数列总共进行了 $Q$ 次如下操作。第 $i$ 次操作由参数 $q_i$ 给出,操作如下:
- 将当前的数列无限重复,取其前 $q_i$ 项,作为新的数列。
请你求出 $Q$ 次操作后,数列中 $1$ 到 $N$ 每个数各出现了多少次。
输入格式
输入通过标准输入按以下格式给出。
> $N$ $Q$ $q_1$ $q_2$ $\ldots$ $q_Q$
输出格式
输出 $N$ 行。第 $i$ 行输出 $Q$ 次操作后数列中数字 $i$ 出现的次数。
说明/提示
## 限制条件
- $1 \leq N \leq 10^5$
- $0 \leq Q \leq 10^5$
- $1 \leq q_i \leq 10^{18}$
- 输入均为整数。
## 样例解释 1
第一次操作后,数列变为 $1,2,3,4,5,1$。第二次操作后,数列变为 $1,2,3,4$。第三次操作后,数列变为 $1,2,3,4,1,2,3,4,1,2,3$。此时数列中 $1,2,3,4,5$ 分别出现了 $3,3,3,2,0$ 次,因此按上述方式输出。
由 ChatGPT 4.1 翻译