Cod sursa(job #324441)

Utilizator 05_YohnE1 La5c01 05_Yohn Data 16 iunie 2009 11:11:54
Problema Subsecventa de suma maxima Scor 80
Compilator fpc Status done
Runda Arhiva educationala Marime 0.76 kb
var n,i,min,max,pozmin,pozmaxs,pozmaxd:longint;
    rez,v:array[1..6000000]of longint;
    suma:array[0..6000000]of longint ;
begin
assign(input,'ssm.in');reset(input);
assign(output,'ssm.out');rewrite(output);
read(n);
for i:=1 to n do read(v[i]);
suma[0]:=0;
for i:=1 to n do suma[i]:=suma[i-1]+v[i];

max:=-2000000000;
min:=0; pozmin:=0;
for i:=1 to n do begin
    rez[i]:=suma[i]-min;
    if rez[i]>max then begin
                       max:=rez[i];
                       pozmaxs:=pozmin+1;
                       pozmaxd:=i;
                       end;
    if suma[i]<min then begin
                        min:=suma[i];
                        pozmin:=i;
                        end;

end;
write(max,' ',pozmaxs,' ',pozmaxd);
close(output);
end.