Cod sursa(job #260977)

Utilizator CezarMocanCezar Mocan CezarMocan Data 17 februarie 2009 19:54:22
Problema Subsecventa de suma maxima Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.73 kb
var n, s, nr, start, stop, d, max, i :longint;


begin
    assign(input, 'ssm.in'); reset(input);
    assign(output, 'ssm.out'); rewrite(output);

    readln(n);
    s := 0; max := -2000000000;
    d := 1;
    for i := 1 to n do begin
        read(nr);
        if (s + nr < nr) then begin
                if (s > max) then begin
                    start := d;
                    stop  := i - 1;
                    max := s;
                end;
                s := nr; d := i;
        end
        else
                s := s + nr;
        if (s > max) then begin
                start := d;
                stop := i;
                max := s;
        end;
    end;

    writeln(max, ' ', start, ' ', stop);
end.