Cod sursa(job #688771)

Utilizator oancea_horatiuOancea Horatiu oancea_horatiu Data 23 februarie 2012 20:16:40
Problema Subsecventa de suma maxima Scor 95
Compilator fpc Status done
Runda Arhiva educationala Marime 0.66 kb
var v,t:array[0..6000000] of longint;
    s,sf,df,m,i,j,n:longint;
    o,d:text;
{function max(a,b:longint):longint;
  begin
    max:=a;
    if b>max then max:=b;
  end;}
begin
assign(o,'ssm.out');assign(d,'ssm.in');
reset(d);rewrite(o);
read(d,n);
sf:=1;s:=1;
df:=1;
read(d,v[1]);
m:=v[1];
t[0]:=-maxlongint;
t[1]:=v[1];
for i:=2 to n do
  begin
    read(d,v[i]);
    if v[i]>=(t[i-1]+v[i])
      then
        begin
          s:=i;
          t[i]:=v[i];
        end
      else
        begin
          t[i]:=t[i-1]+v[i];
        end;
    if t[i]>m then begin m:=t[i];sf:=s;df:=i end;
  end;
write(o,m,' ',sf,' ',df);
close(o);close(d);
end.