Cod sursa(job #399949)

Utilizator octavian1Hasna Octavian octavian1 Data 21 februarie 2010 10:47:12
Problema Subsecventa de suma maxima Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.66 kb
type domeniu=0..6000001;
     vector=array[domeniu] of longint;
var f,g:text;
    n,i,j,a,b:domeniu;
    aux,nr,min,bs:longint;
    sum:vector;
begin
    assign(f,'ssm.in'); reset(f);
    assign(g,'ssm.out'); rewrite(g);
    readln(f,n);
    bs:=-maxint; min:=0; a:=1; b:=1; j:=0; sum[0]:=0;
    for i:=1 to n do
    begin
        read(f,nr);
        sum[i]:=sum[i-1] + nr;
        aux:=sum[i] - min;
        if (bs < aux) then
        begin
            bs:=aux; a:=j + 1; b:=i;
        end;
        if (min > sum[i]) then
        begin
            min:=sum[i]; j:=i;
        end;
    end;
    writeln(g,bs,' ',a,' ',b);
    close(f); close(g);
end.