Cod sursa(job #285871)

Utilizator 7RaduRadu Antohi 7Radu Data 23 martie 2009 09:02:17
Problema Subsecventa de suma maxima Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.64 kb
program Ssm;
var
   n,i,j,k,l,bst,sm,inc1,sfr1:longint;
   a:array[1..6000001] of integer;
   fl:text;
begin
   assign(fl,'ssm.in');
   reset(fl);
   readln(fl,n);
   for i := 1 to n do
     read(fl,a[i]);
   close(fl);

   bst := -MaxLongInt;
   sm := 0;
   for i := 1 to n do
     begin
     if sm < 0 then
       begin
         sm := a[i];
         k := i;
       end
     else
        sm := sm+a[i];
     if bst < sm then
        begin
           bst := sm;
           inc1 := k;
           sfr1 := i;
        end;
     end;

  assign(fl,'ssm.out');
  rewrite(fl);
  writeln(fl,bst,' ',inc1,' ',sfr1);
  close(fl);
end.