题解 | #最大上升子序列和#

最大上升子序列和

https://www.nowcoder.com/practice/dcb97b18715141599b64dbdb8cdea3bd

#include <iostream>
#include <algorithm>

using namespace std;
int main() {
    int n;
    int a[1001], dp[1001];
    while (cin >> n) {
        for (int i = 0; i < n; ++i) {
            cin >> a[i];
        }
        dp[0] = a[0];
        int ans = -1;
        for (int i = 1; i < n; ++i) {
            dp[i] = a[i];
            for (int j = 0; j < i; ++j) {
                if (a[i] > a[j] && dp[j] + a[i] > dp[i]) {
                    dp[i] = dp[j] + a[i];
                }
                ans = max(ans, dp[i]);
            }
        }
        cout << ans << endl;
    }
}

全部评论

相关推荐

05-16 11:16
已编辑
东华理工大学 Java
牛客737698141号:盲猜几十人小公司,庙小妖风大,咋不叫她去4️⃣呢😁
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务