Cod sursa(job #1153203)

Utilizator Vele_GeorgeVele George Vele_George Data 25 martie 2014 12:17:42
Problema Subsecventa de suma maxima Scor 65
Compilator fpc Status done
Runda Arhiva educationala Marime 1.18 kb
var a,b,c:array[1..6000002] of longint;
    n,i,max,p1,p2: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,a[i]);
 close(f);

 b[n]:=a[n];
 c[n]:=n;
 max:=-900000001;
 for i:=n-1 downto 1 do
  if a[i]+b[i+1]<=a[i] then begin
                             c[i]:=i;
                             b[i]:=a[i];
                             if b[i]>max then begin
                                               max:=b[i];
                                               p1:=i;
                                               p2:=c[i];
                                              end;
                            end
                       else begin
                             b[i]:=a[i]+b[i+1];
                             c[i]:=c[i+1];
                             if b[i]>max then begin
                                               max:=b[i];
                                               p1:=i;
                                               p2:=c[i];
                                              end;
                            end;

 write(g,max,' ',p1,' ',p2);
 close(g);





end.