数列分段pascal程序

题意

对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求。


分析

一个一个加上s,如果s>m,那么s就变成当前的数字,并且tj+1


var
n,m,tj,i,s,w:longint;
begin
    readln(n,m);
    tj:=1;
    s:=0;
    for i:=1 to n do
    begin
        read(w);
        if (s+w)<=m then s:=s+w else
        begin
            s:=w;
            inc(tj);
        end;
    end;
    write(tj);
end.

posted @ 2017-02-04 13:05  银叶草  阅读(115)  评论(0编辑  收藏  举报
Live2D