Cod sursa(job #531433)

Utilizator guralivuion ion guralivu Data 9 februarie 2011 17:48:09
Problema Subsecventa de suma maxima Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.83 kb
program subsir;
type sume=array[1..6000000] of longint;
var
sj,min,nr,pozj,pozfi,pozfj:longint;
summax:longint;
   n:longint;
   f,g : text;
s:sume;
procedure dinamica;
var i:longint;
begin
  assign(f,'ssm.in');
  reset(f);
  assign(g,'ssm.out');
  rewrite(g);
  readln(f,n);
  read(f,nr);
  s[1]:=nr;     min:=s[1];     summax:=s[1]; pozj:=1;
  for i:=2 to n do
   begin
     read(f,nr);
     s[i]:=s[i-1] +nr;
     if (summax<s[i]-min) then
                begin
                   summax:=s[i]-min;
                   pozfj:=pozj+1;
                   pozfi:=i;
                end;
        if (min>s[i]) then
                begin
                   min:=s[i];
                   pozj:=i;
                end;
   end;

  write(g,summax,' ',pozfj,' ',pozfi);
  close(f);
  close(g);
end;
begin
 dinamica;
end.