Cod sursa(job #1198548)

Utilizator SwampiPasca Marius Swampi Data 16 iunie 2014 09:46:29
Problema Subsecventa de suma maxima Scor 30
Compilator fpc Status done
Runda Arhiva educationala Marime 0.71 kb
type vector=array[0..6000000] of int64;
var v,s:vector;
    sum,max:int64;
    i,j,o,a,b,n:longint;
    fin,fout:text;
begin
assign(fin,'ssm.in');
assign(fout,'ssm.out');
reset(fin);
rewrite(fout);
read(fin,n);
sum:=0;
for i:=1 to n do
    begin
    read(fin,v[i]);
    sum:=sum+v[i];
    s[i]:=sum;
    end;
s[0]:=0;
i:=0;
max:=-maxint;
while i<n do
    begin
    j:=n-i;
    o:=1;
    while j<=n do
          begin
          if s[j]-s[o]>max then
             begin
             max:=s[j]-s[o];
             a:=o+1;
             b:=j;
             end;
          inc(o);
          inc(j);
          end;
    inc(i);
    end;
write(fout,max,' ',a,' ',b);
close(fin);
close(fout);
end.