题目描述
有一段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.
转载请注明原文地址: https://ju.6miu.com/read-662173.html