Code Submission Evaluation System Login

CSES Problem Set

Cyclic Array

Task | Statistics

CSES - Cyclic ArrayCSES - Cyclic Array

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.


8 5
2 2 2 1 3 1 2 1


Explanation: We can create three subarrays: $[2,2,1]$, $[3,1]$, and $[2,1,2]$ (remember that the array is cyclic).