Cod sursa(job #325874)

Utilizator qSortMorariu Razvan qSort Data 22 iunie 2009 19:55:38
Problema Subsecventa de suma maxima Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.69 kb
program suma;{dinamic}
type vector=array[0..2000] of integer;
vector_sume=array[0..5000] of longint;
var   a:vector;
			n:integer;
			i,j,pi,ps:longint;
			vs,vsm:vector_sume;
			summax,min:longint;
		f,g:text;

begin
assign(f,'ssm.in'); reset(f);
read(f,n);
for i:=1 to n do
				read(f,a[i]);

close(f);
assign(g,'ssm.out'); rewrite(g);
summax:=vs[0];
	for i:=1 to n do vs[i]:=a[i]+vs[i-1];
	min:=vs[0];
		 for i:=1 to n do begin
				if i>1 then vsm[i]:=(vs[i]-min)
					else vsm[i]:=vs[i];
				if (min>vs[i]) then begin min:=vs[i]; if pi<=ps then pi:=i+1; end;
	if (summax<vsm[i])then begin summax:=vsm[i]; ps:=i; end;
 end;
writeln(g,summax,' ',pi,' ',ps);
 close(g);
end.