Cod sursa(job #703770)

Utilizator boby301Bogdan Bacila boby301 Data 2 martie 2012 14:20:03
Problema Subsecventa de suma maxima Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.85 kb
var v,aux:array[1..6000000]of int64;
    j,n,a,max,b,aa,bb:int64;
    f,g:text;
    i:longint;
     
begin
assign(f,'ssm.in');reset(f);
assign(g,'ssm.out');rewrite(g);
readln(f,n);
for i:=1 to n do
   read(f,v[i]);

aux[1]:=v[1];
a:=1;max:=v[1];
for i:=2 to n do
  begin 
    if (aux[i-1]+v[i])>=v[i] then aux[i]:=aux[i-1]+v[i]
                           else begin
                                   aux[i]:=v[i];
                                   a:=i;
                                end;
     inc(b);                           
     
     if aux[i]>=max then begin
                           max:=aux[i];
                           aa:=a;
                           bb:=b;  
                         end;     
                                   
  end;
{for i:=1 to n do
   write(aux[i],' ');
   writeln;}
writeln(g,max,' ',aa,' ',bb);   
   

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