Cod sursa(job #743321)
Utilizator | Cont vechi Buzu_Tudor_Ro | Data | 3 mai 2012 22:05:00 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 45 |
Compilator | fpc | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
Program p1;
var fi,fo : text;
i,n,fina,poz,max : longint;
a,c:array[0..600005] of longint;
begin
assign(fi,'ssm.in'); reset(fi); readln(fi,n);
assign(fo,'ssm.out'); rewrite(fo);
for i:=1 to n do read(fi,a[i]);
c[1]:=a[1]; poz:=1; fina:=1; max:=a[1];
for i:=2 to n do begin
if c[i-1]+a[i]>=a[i] then c[i]:=c[i-1]+a[i]
else begin c[i]:=a[i]; poz:=i; end;
if c[i]>max then begin max:=c[i]; fina:=i; end;
end;
write(fo,max,' ',poz,' ',fina);
close(fi); close(fo);
end.