CF1016A.Death Note
入门
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You received a notebook which is called Death Note. This notebook has infinite number of pages. A rule is written on the last page (huh) of this notebook. It says: "You have to write names in this notebook during n consecutive days. During the i-th day you have to write exactly ai names.". You got scared (of course you got scared, who wouldn't get scared if he just receive a notebook which is named Death Note with a some strange rule written in it?).
Of course, you decided to follow this rule. When you calmed down, you came up with a strategy how you will write names in the notebook. You have calculated that each page of the notebook can contain exactly m names. You will start writing names from the first page. You will write names on the current page as long as the limit on the number of names on this page is not exceeded. When the current page is over, you turn the page. Note that you always turn the page when it ends, it doesn't matter if it is the last day or not. If after some day the current page still can hold at least one name, during the next day you will continue writing the names from the current page.
Now you are interested in the following question: how many times will you turn the page during each day? You are interested in the number of pages you will turn each day from 1 to n.
你收到了一本名为“死亡笔记”的笔记本。这本笔记本有无穷多页。在该笔记本的最后一页(嗯?)上写着一条规则:“你必须在连续 n 天内,在这本笔记本上写下姓名。在第 i 天,你必须恰好写下 ai 个姓名。” 你感到非常害怕(当然会害怕啦——谁收到一本名叫“死亡笔记”、还写有某种奇怪规则的笔记本不会害怕呢?)
当然,你决定遵守这条规则。当你冷静下来后,你为自己制定了一套书写姓名的策略。你已计算出:笔记本的每一页恰好可以容纳 m 个姓名。你将从第一页开始书写姓名。在当前页上持续书写,直到该页上的姓名数量达到上限 m;当当前页写满时,你就翻到下一页。注意:每当一页写满时,你一定会翻页,无论当天是否为最后一天。如果某天结束后,当前页仍至少还能容纳一个姓名,则第二天你将继续在该页上书写。
现在你关心如下问题:每天你会翻多少次页?你需要求出从第 1 天到第 n 天,每天各自翻页的次数。
输入格式
The first line of the input contains two integers n, m (1≤n≤2⋅105, 1≤m≤109) — the number of days you will write names in the notebook and the number of names which can be written on each page of the notebook.
The second line contains n integers a1,a2,…,an (1≤ai≤109), where ai means the number of names you will write in the notebook during the i-th day.
输入的第一行包含两个整数 n 和 m(1≤n≤2⋅105,1≤m≤109),分别表示你将在笔记本上写名字的天数,以及笔记本每页可写的姓名数量。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤109),其中 ai 表示你在第 i 天将在笔记本上写的姓名数量。
输出格式
Print exactly n integers t1,t2,…,tn, where ti is the number of times you will turn the page during the i-th day.
精确输出 n 个整数 t1,t2,…,tn,其中 ti 表示你在第 i 天翻页的次数。
输入输出样例
输入#1
3 5 3 7 9
输出#1
0 2 1
输入#2
4 20 10 9 19 2
输出#2
0 0 1 1
输入#3
1 100 99
输出#3
0
说明/提示
In the first example pages of the Death Note will look like this [1,1,1,2,2],[2,2,2,2,2],[3,3,3,3,3],[3,3,3,3]. Each number of the array describes during which day name on the corresponding position will be written. It is easy to see that you should turn the first and the second page during the second day and the third page during the third day.
在第一个示例中,死亡笔记的前几页将如下所示:[1,1,1,2,2],[2,2,2,2,2],[3,3,3,3,3],[3,3,3,3]。数组中的每个数字表示对应位置上的名字将在第几天被写下。很容易看出,你应在第二天翻动第一页和第二页,第三天翻动第三页。
输入解题思路,AI测评打分。不知道怎么写?