- Time limit: 1.00 s
- Memory limit: 512 MB
You are given a cyclic array consisting of n values. Each element has two neighbors; the elements at positions n and 1 are also considered neighbors.
Your task is to divide the array into subarrays so that the sum of each subarray is at most k. What is the minimum number of subarrays?
Input
The first input line contains integers n and k.
The next line has n integers x_1,x_2,\ldots,x_n: the contents of the array.
There is always at least one division (i.e., no value in the array is larger than k).
Output
Print one integer: the minimum number of subarrays.
Constraints
- 1 \le n \le 2 \cdot 10^5
- 1 \le x_i \le 10^9
- 1 \le k \le 10^{18}
Example
Input:
8 5 2 2 2 1 3 1 2 1
Output:
3
Explanation: We can create three subarrays: [2,2,1], [3,1], and [2,1,2] (remember that the array is cyclic).