Pagini recente » Cod sursa (job #48180) | Cod sursa (job #130860) | Cod sursa (job #707716) | Cod sursa (job #2048089) | Cod sursa (job #743323)
Cod sursa(job #743323)
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 c[i]:=a[i];
if c[i]>max then begin max:=c[i]; fina:=i; end;
end;
write(fo,max); poz:=fina;
while (max<>0) do begin
max:=max-a[poz];
poz:=poz-1;
end;
poz:=poz+1;
if poz<=fina then write(fo,' ',poz,' ',fina)
else write(fo,' ',fina,' ',fina);
close(fi); close(fo);
end.