Cod sursa(job #324450)

Utilizator 05_YohnE1 La5c01 05_Yohn Data 16 iunie 2009 11:21:08
Problema Subsecventa de suma maxima Scor 85
Compilator fpc Status done
Runda Arhiva educationala Marime 0.73 kb
var n,i,min,max,pozmin,pozmaxs,pozmaxd:longint;
    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;
max:=-2000000000;
min:=0; pozmin:=0;
for i:=1 to n do begin
    suma[i]:=suma[i-1]+v[i];
    if suma[i]-min>max then begin
                       max:=suma[i]-min;
                       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.