最大连续子列和 pascal

来源:百度知道 编辑:UC知道 时间:2024/06/23 17:11:15
rt

var maxsum,sum,n,i:longint;
data:array[1..10000]of longint;
begin
readln(n);
for i:=1 to n do
read(data[i]);
maxsum:=-maxlongint;
sum:=0;
for i:=1 to n do
begin
inc(sum,data[i]);
if sum>maxsum then maxsum:=sum;
if sum<0 then sum:=0;
end;
writeln(maxsum);
end.

program ch;

var
a:array[1..1000] of longint;
ans:Array[0..1000,0..1000] of extended;
n,i,j:longint;
ans:extended;

begin
readln(n); ans:=-maxlongint;
for i:=1 to n do
read(a[i]);
for i:=1 to n do
for j:=i to n do
begin
if j<>n
then ans[i,j]:=ans[i,j-1]+a[j]
else ans[i,j]:=a[i];
if a[i,j]>ans
then ans:=a[i,j];
end;
writeln(ans:0:0);
end.