Code Submission Evaluation System | Login |

**Task** | Statistics

Time limit: | 1.00 s | Memory limit: | 512 MB |

You are given a cyclic array that consists of $n$ values. Each element has two neighbors; the elements at positions $n$ and $1$ are also 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?

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$).

Print one integer: the minimum number of subarrays.

- $1 \le n \le 5 \cdot 10^5$

- $1 \le x_i \le 10^9$

- $1 \le k \le 10^{18}$

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).