题目:

Description

 求最大连续子序列的和

Input

 第一行输入n(n<=500),第二行为n个以空格分开的整数(-1000到1000之间);

Output

  该序列中最大的连续子序列的和

Sample Input

 6
  1 2 -5 6 7 8

Sample Output

  21

作者思路:dp。

代码:

var f:array[-1..502] of longint;
    max,n,a,i:longint;
begin
  read(n);
  for i:=1 to n do
  begin
    read(a);
    if a>f[i-1]+a then f[i]:=a else f[i]:=f[i-1]+a;
  end;
  for i:=1 to n do
    if f[i]>max then max:=f[i];
  write(max);
end.