// 数列分段 对于给定的一个长度为 N 的正整数数列 A i ,现要将其分成连续的若干段,并且每段和不超过 M(可以等于 M),问最少能将其分成多少段使得满足要求。
#include<iostream>
using namespace std;
int main()
{
int n,m,a[100000];
int temp=0,result=1;
int i;
cin>>n>>m;
for(i=1;i<=n;i++)cin>>a[i];
for(i=1;i<=n;i++)
{
if(a[i]+temp>m)
{
result++;
temp=0;
}
temp+=a[i];
}
cout<<result<<endl;
return 0;
}
#include<iostream>
using namespace std;
int main()
{
int n,m,a[100000];
int temp=0,result=1;
int i;
cin>>n>>m;
for(i=1;i<=n;i++)cin>>a[i];
for(i=1;i<=n;i++)
{
if(a[i]+temp>m)
{
result++;
temp=0;
}
temp+=a[i];
}
cout<<result<<endl;
return 0;
}
全部评论
相关推荐
点赞 评论 收藏
分享
帮你内推|腾讯云智研发 校招 点赞 评论 收藏
分享


查看7道真题和解析