Cod sursa(job #287341)
//lot 2009 Dana Lica
//Secventa de suma maxima
//Parcurgere liniara
var f,g:text;
numere:array[0..100001] of longint;
suma_max,suma_curenta:int64;
i,precedent,ind1,ind2,n:longint;
begin
assign(f,'ssm.in');reset(f);
assign(g,'ssm.out');rewrite(g);
read(f,n);
for i:=1 to n do read(f,numere[i]);
suma_max:=0;
suma_curenta:=0;
ind1:=1;
ind2:=1;
precedent:=1;
for i:=1 to n do begin
if suma_curenta>0 then suma_curenta:=suma_curenta+numere[i]
else begin
suma_curenta:=numere[i];
precedent:=i;
end;
if suma_curenta>suma_max then begin
suma_max:=suma_curenta;
ind1:=precedent;
ind2:=i;
end;
end;
writeln(g,suma_max);
for i:=ind1 to ind2-1 do
write(g,numere[i],' ');
writeln(g,numere[ind2]);
close(f);
close(g);
end.