Cod sursa(job #308006)

Utilizator frozen62iceBLue FirE frozen62ice Data 25 aprilie 2009 20:11:26
Problema Fractii Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.78 kb
//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,'suma.in');reset(f);
assign(g,'suma.out');rewrite(g);
read(f,n);
for i:=1 to n do read(f,numere[i]);
suma_max:=numere[1];
suma_curenta:=numere[1];
ind1:=1;
ind2:=1;
precedent:=1;
for i:=2 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.