Cod sursa(job #664813)

Utilizator andrei_toaderToader Andrei Sorin andrei_toader Data 20 ianuarie 2012 21:15:34
Problema Subsecventa de suma maxima Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.59 kb
program subsecv;
var f,g:text;
    v:array [1..6000000] of longint;
    s:array [0..6000000] of longint;
    n,i,j,min,max,poz1,poz2:longint;

begin
 assign (f,'ssm.in'); reset (F);
 assign (g,'ssm.out'); rewrite (G);
 readln (f,n);
 for i:=1 to n do
 begin
  read (f,v[i]);
  s[i]:=s[i-1]+v[i];
 end;
 min:=v[1];  j:=1;
 max:=-maxlongint;
 for i:=2 to n do
 begin
  if s[i]-min>max then
  begin
   max:=s[i]-min;
   poz2:=i;
   poz1:=j+1;
  end;
  if min>s[i] then
  begin
   min:=s[i];
   j:=i;
  end;
 end;
 write (g,max,' ',poz1,' ',poz2);
 close (f);
 close (g);
end.