最大连续数列的和
Time Limit:1000MS Memory Limit:65536K
Total Submit:140 Accepted:81
Description
求最大连续子序列的和
Input
第一行输入n(n<=500),第二行为n个以空格分开的整数(-1000到1000之间);
Output
该序列中最大的连续子序列的和
Sample Input
6
1 2 -5 6 7 8
Time Limit:1000MS Memory Limit:65536K
Total Submit:140 Accepted:81
Description
求最大连续子序列的和
Input
第一行输入n(n<=500),第二行为n个以空格分开的整数(-1000到1000之间);
Output
该序列中最大的连续子序列的和
Sample Input
6
1 2 -5 6 7 8
Sample Output
21
var
a,f:array[1..500]of longint;
i,j,n,max:longint;
begin
max:=-maxlongint;
read(n);
for i:=1 to n do
read(a[i]);
if a[1]>0 then f[1]:=a[1];
for i:=2 to n do
if f[i-1]+a[i]>0 then f[i]:=f[i-1]+a[i];
for i:=1 to n do
if f[i]>=max then max:=f[i];
write(max);
end.