include <bits/stdc++.h>
using namespace std;
int n, m, sum, num;
int main( )
{
cin >> n >> m;
for (int i=1;i<=n;i++)
{
int e;
cin >> e;
if (num+e>m)
{
sum++;
num=e;
}
else
{
num+=e;
}
}
cout << sum+1;
return 0;
}
反思:这段代码的整体意思就是先输入E输入N个ENUM + E,如果当时的NUM大于M的话,那么SUM + + NUM等于当时的E,否则NUMU继续加乙最后SUM +1是因为最后的结尾是需要+1
看到题目中的将其分成连续的若干段,我们就可以for循环里面套if-else
解题思路:看段每段不超过M,我们就可以想到if肯定是要NUM等于e和else里面要填NUM +=e