Cod sursa(job #1128841)

Utilizator Vele_GeorgeVele George Vele_George Data 27 februarie 2014 18:55:38
Problema Subsecventa de suma maxima Scor 40
Compilator fpc Status done
Runda Arhiva educationala Marime 0.79 kb
//SSM
var a,b,c:array[1..6000001] of integer;
    n,i,max,p1,p2:integer;
    f,g:text;

begin
 assign(f,'ssm.in');reset(f);
 assign(g,'ssm.out');rewrite(g);

 readln(f,n);
 for i:=1 to n do read(f,a[i]);
 close(f);

 b[n]:=a[n];
 c[n]:=n;

 for i:=n-1 downto 1 do
  if a[i]+b[i+1]<a[i] then begin
                            c[i]:=i;
                            b[i]:=a[i];
                           end
                      else begin
                            b[i]:=a[i]+b[i+1];
                            c[i]:=c[i+1];
                           end;


 max:=-32720;
 for i:=1 to n do
  if b[i]>max then begin
                    max:=b[i];
                    p1:=i;
                    p2:=c[i];
                   end;

 write(g,max,' ',p1,' ',p2);
 close(g);
end.