编程题
### 问题描述
卓儿有一个由 $n$ 个值组成的循环数组。每个元素都有两个邻居,位置 $n$ 和 $1$ 的元素也被认为是邻居。
她想将数组分成子数组,使得每个子数组的和最多为 $k$。最少需要多少个子数组?
### 输入格式
第一行包含整数 $n$ 和 $k$。
第二行有 $n$ 个整数 $x_1, x_2, \dots, x_n$,表示数组的内容。
始终至少有一种分割,即数组中没有任何值大于 $k$。
### 输出格式
输出一个整数,表示最少的子数组数。
### 样例输入
```
8 5
2 2 2 1 3 1 2 1
```
### 样例输出
```
3
```
### 评测数据规模
$1 \leq n \leq 10^5$,$1 \leq x_i \leq 10^9$,$1 \leq k \leq 10^{18}$。