[GRYZ2014]递增子序列最大和

时间:2023-03-10 02:02:49
[GRYZ2014]递增子序列最大和

【问题描述】
给定长度为n的正整数序列a1,a2,…,an。
求一个递增的子序列,和最大。
【输入】
第一行,n,表示给定序列的个数。
第二行,n个用空格隔开的正整数。
【输出】
递增子序列的最大和。
【数据范围限制】
n<=1000,0<ai<=109。

var a:array[..] of longint;
f:array[..] 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),);
for i:= to n do read(a[i]);
f[]:=a[];//这句话应该放在数组读完数后面
for i:= to n do
begin
for j:= to i- do
if a[i]>a[j] then f[i]:=max(f[j],f[i]);
f[i]:=f[i]+a[i];
end;
ans:=;
for i:= to n do
if f[i]>ans then ans:=f[i];
writeln(ans);
end.