#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
int main()
{
int n;
cin >> n;
int a[n+10], f[n+10];
for(int i = 0; i < n; i++) cin >> a[i], f[i] = a[i];
for(int i = 0; i < n; i++)
{
for(int j = i-1; j >= 0; j--)
{
if(a[i] > a[j]) f[i] = max(f[i], f[j]+a[i]);
// 之前的相加
}
}
int ans = 0;
for(int i = 0; i < n; i++)
{
ans = max(ans, f[i]);
}
cout << ans;
return 0;
}
最大上升子序列(模板题)
最新推荐文章于 2024-09-02 20:21:30 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)