CF1016A Death Note
题目描述
你收到了一本名为 Death Note 的笔记本。这本笔记本有无限多页。在最后一页(没错,就是最后一页)上写着一条规则:“你必须在连续的 $n$ 天内在这本笔记本上写名字。在第 $i$ 天,你必须恰好写下 $a_i$ 个名字。”你被吓到了(当然你会被吓到,谁收到一本叫 Death Note 的笔记本并且上面还有奇怪的规则不会害怕呢?)。
当然,你决定遵守这个规则。当你冷静下来后,你想出了一个写名字的策略。你计算出笔记本的每一页恰好能写下 $m$ 个名字。你会从第一页开始写名字。只要当前页还没有写满,你就会继续在当前页写名字。当当前页写满后,你就翻到下一页。注意,每当一页写满时你就必须翻页,无论当天是否已经结束。如果某一天结束后当前页还能写下至少一个名字,那么第二天你会继续在当前页上写名字。
现在你想知道:在每一天你会翻几次页?你需要输出从第 $1$ 天到第 $n$ 天,每一天你会翻页的次数。
输入格式
输入的第一行包含两个整数 $n$ 和 $m$($1 \le n \le 2 \times 10^5$,$1 \le m \le 10^9$),分别表示你要写名字的天数和每一页能写下的名字数。
第二行包含 $n$ 个整数 $a_1, a_2, \dots, a_n$($1 \le a_i \le 10^9$),其中 $a_i$ 表示第 $i$ 天你要写下的名字数。
输出格式
输出恰好 $n$ 个整数 $t_1, t_2, \dots, t_n$,其中 $t_i$ 表示你在第 $i$ 天会翻页的次数。
说明/提示
在第一个样例中,Death Note 的页面内容如下 $[1, 1, 1, 2, 2], [2, 2, 2, 2, 2], [3, 3, 3, 3, 3], [3, 3, 3, 3]$。数组中的每个数字表示该位置上的名字是在哪一天写下的。很容易看出,在第二天你需要翻第一页和第二页,在第三天你需要翻第三页。
由 ChatGPT 4.1 翻译