Cod sursa(job #1198945)

Utilizator SwampiPasca Marius Swampi Data 17 iunie 2014 18:26:13
Problema Subsecventa de suma maxima Scor 5
Compilator fpc Status done
Runda Arhiva educationala Marime 0.64 kb
type vector=array[0..6000000] of longint;
var min,s:vector;
    i,j,ma,max,x,n :longint;
    fin,fout:text;
begin
assign(fin,'ssm.in');
assign(fout,'ssm.out');
reset(fin);
rewrite(fout);
read(fin,n);
for i:=1 to n do
    begin
    read(fin,x);
    s[i]:=s[i-1]+x;
    if min[i-1]>s[i] then
       min[i]:=s[i]
       else
       min[i]:=min[i-1];
    end;
for i:=1 to n do
    begin
    min[i]:=s[i]-min[i];
    if min[i]>max then
       begin
       ma:=i;
       max:=min[i];
       end;
    end;
i:=ma;
while s[i]-min[i]<>0 do
      dec(i);
max:=s[ma]-s[i+1];
write(fout,max,' ',i+2,' ',ma);
close(fin);
close(fout);
end.