Pagini recente » Cod sursa (job #1258556) | Cod sursa (job #2903926) | Cod sursa (job #456683) | Cod sursa (job #2843512) | Cod sursa (job #692778)
Cod sursa(job #692778)
program subsir_maximal_dinamic;{de pe infoarena}
type sume=array[1..6000000] of int64;
var
i,si,sj,pozi,min,nr,pozj,pozfi,pozfj,summax:longint;
n:longint;
f,g : text;
s:sume;
procedure dinamica;
var i:integer;
begin
assign(f,'ssm.in');
reset(f);
assign(g,'ssm.out');
rewrite(g);
readln(f,n);
read(f,nr);
s[1]:=nr;
for i:=2 to n do
begin
read(f,nr);
s[i]:=s[i-1] +nr;
end;
min:=0; summax:=-maxlongint;
for i:=1 to n do
begin
if (summax<s[i]-min) then
begin
summax:=s[i]-min;
pozfj:=pozj+1;
pozfi:=i;
end;
if (min>s[i]) then
begin
min:=s[i];
pozj:=i;
end;
end;
write(g,summax,' ',pozfj,' ',pozfi);
close(f);
close(g);
end;
begin
dinamica;
end.