Cod sursa(job #1585741)

Utilizator EusebiuSebyTolomeiu Eusebiu EusebiuSeby Data 31 ianuarie 2016 13:47:46
Problema Subsecventa de suma maxima Scor 75
Compilator fpc Status done
Runda Arhiva educationala Marime 0.7 kb
program csume;
var v:array[1..6000000] of longint;
  i,n,smax,suma1,i1,poz,poz0,poz2:longint;
  f,g:text;
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]);
  smax:=v[1];
  if smax<0 then
    suma1:=0
      else
        suma1:=smax;
  for i1:=2 to n do
    begin
      if suma1<0 then
        begin
            suma1:=v[i1];
            poz0:=i1;
        end
          else
            suma1:=suma1+v[i1];
      if smax<suma1 then
        begin
            smax:=suma1;
            poz:=i1;
            poz2:=poz0;
        end;
    end;
  writeln(g,smax,' ',poz2,' ',poz);
  close(f);
  close(g);
end.