题目描述
有一段n个数字的数列,要分成若干段,是每一段的和不超过m,问最少分成多少段。
样例输入
5 6
4 2 4 5 1
样例输出
3
思路
O(n)
贪心,如果大了,就断开。
var
n,m,a,b,c,i:longint;
begin
readln(n,m);
for i:=1 to n do
begin
read(a);
if b+a>m then
begin
b:=a;
inc(c);
end
else
b:=b+a;
end;
writeln(c+1);
end.