求给定序列的最大连续子序列和。
输入:第一行:n(n<100000)
第二行:n个整数[-3000,3000]。
输出:最大连续子序列的和。
样例:
输入:
7
-6 4 -1 3 2 -3 2
输出:
8
var a:array[1..100] of longint; f:array[1..100] of longint; n,i,j,ans:longint; function max(x,y:longint):longint; begin if x>y then exit(x) else exit(y); end; begin readln(n); fillchar(f,sizeof(f),0); for i:=1 to n do read(a[i]); f[1]:=a[1]; for i:=2 to n do begin f[i]:=max(f[i-1]+a[i],a[i]); end; ans:=0; for i:=1 to n do if f[i]>ans then ans:=f[i]; writeln(ans); end.
时间: 2024-10-12 20:38:01