Cod sursa(job #603541)

Utilizator ctlin04UAIC.VlasCatalin ctlin04 Data 17 iulie 2011 11:14:53
Problema Subsecventa de suma maxima Scor 80
Compilator fpc Status done
Runda Arhiva educationala Marime 0.79 kb
program sgventa_de_suma_maxima_1;
 var a,sum,l:array [1..6000000] of longint;
     i,j,max,posmax,n:longint;
     fi,fo:text;
begin
 assign(fi,'ssm.in');
  assign(fo,'ssm.out');
 reset(fi);
  rewrite(fo);
 readln(fi,n);
 max:=-10000000;
  for i:=1 to n do read(fi,a[i]);
 sum[n]:=a[n]; l[n]:=1;
  for i:=n-1 downto 1 do begin
   if  a[i]+sum[i+1]>=a[i] then begin
                                  sum[i]:=a[i]+sum[i+1];
                                        l[i]:=l[i+1]+1;
                                 end
   else begin
        sum[i]:=a[i];
        l[i]:=1;
        end;
   if sum[i]>max then begin
                      max:=sum[i];
                      posmax:=i;
                      end;
   end;
  write(fo,max,' ',posmax,' ',posmax+l[posmax]-1);
  close(fo);
 end.