Cod sursa(job #307440)

Utilizator netedu_andreiFII Andrei Netedu netedu_andrei Data 24 aprilie 2009 10:20:59
Problema Subsecventa de suma maxima Scor 15
Compilator fpc Status done
Runda Arhiva educationala Marime 1.06 kb
var f,g:text;
    n,i,smax,s,j,imax,jmax,poz:longint;
    a,b:array[0..6000000]of longint;
begin
assign(f,'ssm.in');reset(f);
assign(g,'ssm.out');rewrite(g);
readln(f,n);
poz:=1;
smax:=-2000000;
b[0]:=-5000000;
for i:=1 to n do
    begin
    read(f,a[i]);
    if b[i-1]>=0 then begin
                      if b[i-1]>smax then begin
                             smax:=b[i-1];
                             imax:=poz;
                             jmax:=i;
                             end;
                      b[i]:=b[i-1]+a[i];
                      end
    else begin
         if b[i-1]>smax then begin
                             smax:=b[i-1];
                             imax:=poz;
                             jmax:=i-1;
                             end;
         b[i]:=a[i];
         poz:=i;
         end;
    end;
if b[n]>smax then begin
                             smax:=b[n];
                             imax:=poz;
                             jmax:=n;
                             end;
writeln(g,smax,' ',imax,' ',jmax);
close(g);
end.