题目链接:https://www.acwing.com/problem/content/1018/
解题思路:
AC代码:
#include <iostream>
#include <cstdio>
using namespace std;
const int maxn = 1e3 + 5;
int n;
int a[maxn], f[maxn];
int main(void) {
// freopen("in.txt", "r", stdin);
scanf("%d", &n);
for(int i = 1; i <= n; i ++) scanf("%d", &a[i]);
for(int i = 1; i <= n; i ++) f[i] = a[i];
for(int i = 2; i <= n; i ++)
for(int j = 1; j < i; j ++)
if(a[i] > a[j])
f[i] = max(f[i], a[i] + f[j]);
int res = 0;
for(int i = 1; i <= n; i ++) res = max(res, f[i]);
printf("%d\n", res);
// fclose(stdin);
return 0;
}