Cod sursa(job #686256)

Utilizator andreifirstCioara Andrei Ioan andreifirst Data 21 februarie 2012 15:48:09
Problema Subsecventa de suma maxima Scor 85
Compilator fpc Status done
Runda Arhiva educationala Marime 0.62 kb
var v:array [1..6000000] of longint;
    i, min, a, b, x, y, smax, n:longint;
    f, g:text;
    buf1, buf2:array [1.. 1 shl 17] of char;

begin
assign (f, 'ssm.in'); settextbuf (f, buf1); reset (f);
assign (g, 'ssm.out'); settextbuf (g, buf2); rewrite (g);

read (f, n);

read (f, v[1]); min:=v[1]; x:=v[1]; a:=1;
smax:=v[1];

for i := 2 to n do
  begin
  read (f, v[i]);
  y:=x+v[i];
  if y-min > smax then
    begin
    smax:= y-min;
    b:=i;
    end;

  if y < min then
    begin
    min:=y;
    a:=i+1;
    end;

  x:=y;
  end;

writeln (g, smax, ' ',a , ' ', b);

close (f); close (g);
end.