解题思路:对过程进行模拟即可
C++代码
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int a[N];
int n, m;
int check(int n, int m)
{
int sum = 0, cnt = 0;
for (int i = 0; i < n; i ++ )
{
sum += a[i];
if (sum >= m)
{
cnt ++ ;
if (sum == m) sum = 0;
else sum = a[i];
}
}
if (sum) return cnt + 1;
else return cnt;
}
int main()
{
cin >> n >> m;
for (int i = 0; i < n; i ++ ) cin >> a[i];
cout << check(n, m) << endl;
return 0;
}