CF677B.Vanya and Food Processor

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Vanya smashes potato in a vertical food processor. At each moment of time the height of the potato in the processor doesn't exceed h and the processor smashes k centimeters of potato each second. If there are less than k centimeters remaining, than during this second processor smashes all the remaining potato.

Vanya has n pieces of potato, the height of the i-th piece is equal to a__i. He puts them in the food processor one by one starting from the piece number 1 and finishing with piece number n. Formally, each second the following happens:

  1. If there is at least one piece of potato remaining, Vanya puts them in the processor one by one, until there is not enough space for the next piece.
  2. Processor smashes k centimeters of potato (or just everything that is inside).

Provided the information about the parameter of the food processor and the size of each potato in a row, compute how long will it take for all the potato to become smashed.

万尼亚在一个垂直的食品加工机中捣碎土豆。在任意时刻,加工机中土豆的高度都不超过 hh,且加工机每秒捣碎 kk 厘米高的土豆。若剩余土豆高度不足 kk 厘米,则该秒内加工机会将所有剩余土豆全部捣碎。

万尼亚有 nn 块土豆,第 ii 块土豆的高度为 aia_i。他按编号从 11 到 nn 的顺序,依次将土豆块放入加工机中。形式化地,每一秒内发生以下事件:

  1. 若仍有未放入的土豆块,则万尼亚持续将它们逐个放入加工机中,直到下一块土豆无法完全放入(即放入后总高度将超过 hh)为止;
  2. 加工机捣碎 kk 厘米高的土豆(或捣碎当前加工机内全部土豆)。

已知食品加工机的参数及每块土豆的高度,请计算将所有土豆全部捣碎所需的时间。

输入格式

The first line of the input contains integers n, h and k (1 ≤ n ≤ 100 000, 1 ≤ k ≤ h ≤ 109) — the number of pieces of potato, the height of the food processor and the amount of potato being smashed each second, respectively.

The second line contains n integers a__i (1 ≤ a__i ≤ h) — the heights of the pieces.

输入的第一行包含整数 nn、hh 和 kk(1 ≤ n ≤ 100 0001 ≤ n ≤ 100\,000,1 ≤ k ≤ h ≤ 1091 ≤ k ≤ h ≤ 10^9),分别表示土豆块的数量、食物处理器的高度以及每秒被压碎的土豆量。

第二行包含 nn 个整数 aia_i(1 ≤ ai ≤ h1 ≤ a_i ≤ h),表示各土豆块的高度。

输出格式

Print a single integer — the number of seconds required to smash all the potatoes following the process described in the problem statement.

输出一个整数——按照题目描述的过程捣碎所有土豆所需的秒数。

输入输出样例

  • 输入#1

    5 6 3
    5 4 3 2 1

    输出#1

    5
  • 输入#2

    5 6 3
    5 5 5 5 5

    输出#2

    10
  • 输入#3

    5 6 3
    1 2 1 1 1

    输出#3

    2

说明/提示

Consider the first sample.

  1. First Vanya puts the piece of potato of height 5 into processor. At the end of the second there is only amount of height 2 remaining inside.
  2. Now Vanya puts the piece of potato of height 4. At the end of the second there is amount of height 3 remaining.
  3. Vanya puts the piece of height 3 inside and again there are only 3 centimeters remaining at the end of this second.
  4. Vanya finally puts the pieces of height 2 and 1 inside. At the end of the second the height of potato in the processor is equal to 3.
  5. During this second processor finally smashes all the remaining potato and the process finishes.

In the second sample, Vanya puts the piece of height 5 inside and waits for 2 seconds while it is completely smashed. Then he repeats the same process for 4 other pieces. The total time is equal to 2·5 = 10 seconds.

In the third sample, Vanya simply puts all the potato inside the processor and waits 2 seconds.

考虑第一个样例。

  1. 首先,万尼亚将一块高度为 55 的土豆放入处理器。在第 11 秒末,处理器内仅剩余高度为 22 的土豆。
  2. 接着,万尼亚放入一块高度为 44 的土豆。在第 22 秒末,处理器内剩余高度为 33 的土豆。
  3. 万尼亚再放入一块高度为 33 的土豆,同样地,在第 33 秒末,处理器内仍剩余高度为 33 的土豆。
  4. 万尼亚最后放入高度分别为 22 和 11 的两块土豆。在第 44 秒末,处理器内土豆的总高度恰好为 33。
  5. 在这一秒内,处理器最终将所有剩余的土豆粉碎完毕,整个过程结束。

在第二个样例中,万尼亚先放入一块高度为 55 的土豆,并等待 22 秒,直至其被完全粉碎;然后对另外 44 块土豆重复相同的过程。总耗时为 2⋅5=102 \cdot 5 = 10 秒。

在第三个样例中,万尼亚直接将所有土豆一次性全部放入处理器,然后等待 22 秒。

输入解题思路,AI测评打分。不知道怎么写?

首页