hdu 1087

时间:2023-03-09 07:59:16
hdu 1087

动规  d[i]记录以第 i 个数结尾的最大值

#include <cstdio>
#include <algorithm>
#include <cstring>
#define maxn 1010 using std::max;
int dp[maxn];
int value[maxn]; int main()
{
int n,_max;
while(scanf("%d",&n) == 1 && n)
{
for(int i = 0; i < n; i++)
{
scanf("%d",&value[i]);
}
int _max = dp[0] = value[0];
for(int i = 1; i < n; i++)
{
dp[i] = value[i];
for(int j = 0; j < i; j++)
{
if(value[i] > value[j] && dp[i] < dp[j]+value[i])
dp[i] = dp[j]+value[i];
}
_max = max(_max, dp[i]);
}
printf("%d\n",_max);
}
return 0;
}