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 ai. 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:
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.
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 ai (1 ≤ ai ≤ h) — the heights of the pieces.
Print a single integer — the number of seconds required to smash all the potatoes following the process described in the problem statement.
5 6 3
5 4 3 2 1
5
5 6 3
5 5 5 5 5
10
5 6 3
1 2 1 1 1
2
Consider the first sample.
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.
题意:给出n个土豆,机器容纳最高h,每秒碎 k,求研碎时间,放土豆的时候不能高于h
思路:重点在于判断下一个是否超过了最该高度
AC代码:
# include <iostream> # include <algorithm> using namespace std; typedef long long int ll; int main() { ll n, h, k; while(cin >> n >> h >> k) { ll t = 0, m = 0; for(int i = 0; i < n; i++) { ll tep; cin >> tep; if(m + tep <= h) { m += tep; } else { m = tep; t++; } t += m / k; m %= k; // cout << m << " " << t << endl; } t += m / k; m %= k; if (m > 0) { t++; } cout << t << endl; } return 0; }
CodeForce 677B Vanya and Food Processor
原文:http://www.cnblogs.com/lyf-acm/p/5786342.html