Cod sursa(job #482156)

Utilizator andreii1Ilie Andrei andreii1 Data 2 septembrie 2010 18:01:37
Problema Subsecventa de suma maxima Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.55 kb
var n,i,smax,ord,p,u:int64;
    a,suma:array[0..6000000] of int64;
    f,g:text;
begin
assign(f,'ssm.in');
assign(g,'ssm.out');
reset(f);
rewrite(g);
read(f,n);
for i:=1 to n do read(f,a[i]);

smax:=a[1];p:=1;u:=1;ord:=1;
suma[1]:=a[1];
for i:=2 to n do
    begin
    suma[i]:=a[i];
    if suma[i]<=(suma[i-1]+a[i]) then suma[i]:=suma[i-1]+a[i];
    if suma[i]<0 then ord:=i;
    if smax<suma[i] then
       begin
       smax:=suma[i]; p:=ord;
       u:=i;
       end;
    end;
write(g,smax);
write(g,p,' ',u);
close(f);
close(g);
end.