Cod sursa(job #743338)

Utilizator Buzu_Tudor_RoCont vechi Buzu_Tudor_Ro Data 3 mai 2012 22:44:33
Problema Subsecventa de suma maxima Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.83 kb
Program p1;
var fi,fo : text;
    i,n,j1,j2,max,c1,c2 : longint;
    a:array[0..6000002] of longint;

begin
    assign(fi,'ssm.in'); reset(fi); readln(fi,n);
    assign(fo,'ssm.out'); rewrite(fo);
    read(fi,a[1]); max:=a[1]; j1:=1; j2:=1;  c1:=max;  c2:=a[1];
    for i:=2 to n do begin
                     read(fi,a[i]);
                     if  c1+a[i]>=a[i] then c2:=c1+a[i]
                                       else c2:=a[i];
                     if c2>max then begin max:=c2; j2:=i; end;
                     c1:=c2;
                     end;
    j1:=j2;
    write(fo,max,' ');
    while max<>0 do begin
                    max:=max-a[j1];
                    j1:=j1-1;
                    end;
    if a[j1]<>0 then j1:=j1+1;
    if j1>j2 then j1:=j2;
    write(fo,j1,' ',j2);
    close(fi); close(fo);
end.