Cho n số nguyên có giá trị lần lượt là a1, a2, ... an trong đó |ai≤109|. Một đoạn con của dãy là một dãy con gồm các phần tử liên tục nhau. Trọng số của một đoạn con là tổng các số trong đoạn. Trọng số của dãy là trọng số lớn nhất trong tất cả đoạn con của dãy. Yêu cầu: Tính trọng số dãy đã cho. Dữ liệu vào: tệp văn bản Dayso.inp có hai dòng: - Dòng 1 ghi số nguyên n - Dòng 2 ghi n phần tử lần lượt là a1, a2, ..., an. Kết quả: ghi vào tệp Dayso.out trọng số lớn nhất của dãy. Ví dụ: Dayso.inp Dayso.out 4 6 3 -2 5 -6

1 câu trả lời

uses crt;
var i, n, t, s, a: longint;
begin
    clrscr;
    readln(n);
    s:=-1000000000;
    for i:=1 to n do begin
        read(a);
        if t + a < a then t:=a else t:=t + a;
        if s < t then s:=t;
    end;
    writeln(s);
readln
end.