Cod sursa(job #701829)

Utilizator alinutzVasiu Alin alinutz Data 1 martie 2012 18:02:28
Problema Subsecventa de suma maxima Scor 60
Compilator fpc Status done
Runda Arhiva educationala Marime 0.67 kb
program inf;
var f,g:text;
    v,s:array[0..6000000]of integer;
    n,i,j,pozi,pozj:longint;
    smax:int64;
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]);
      end;

      smax:=v[1];
      for i:=1 to n do
      begin
         s[i]:=v[i];
         if s[i]<s[i-1]+v[i] then
               s[i]:=s[i-1]+v[i]
         else
            pozi:=i;

          if s[i]>smax then
            begin
               smax:=s[i];
               pozj:=i;
            end;
       end;

      writeln(g,smax,' ',pozi,' ',pozj);


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