Cod sursa(job #287353)

Utilizator frozen62iceBLue FirE frozen62ice Data 24 martie 2009 19:35:06
Problema Subsecventa de suma maxima Scor 40
Compilator fpc Status done
Runda Arhiva educationala Marime 0.72 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,'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:=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,' ',ind1,' ',ind2);
close(f);
close(g);
end.