洛谷 P1181 数列分段Section I
题目描述
对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求。
分析
其实这题和贪心不关联,输入时累加判断即可
#include <iostream>
#include <cstdio>
int i,sum,n,m,k,ans;
int main()
{
scanf("%d%d",&n,&m);
for (i=1;i<=n;i++)
{
scanf("%d",&k);
if (ans+k<=m) ans=ans+k;
else
{
sum++;
ans=k;
}
}
sum++;
printf("%d",sum);
return(0);
}