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

最大上升子序列和

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

#include<iostream>
#include<cstdio>
using namespace std;
int a[1010];
int dp[1010];
int main() {
    int n;
    while (scanf("%d", &n) != EOF) {
        for (int i = 0 ; i < n ; ++i) {
            scanf("%d", &a[i]);
        }
        int answer = 0;
        for (int i = 0 ; i < n ; ++i) {
            dp[i] = a[i]; //初始值
            for (int j = 0 ; j < i ; ++j) {
                if (a[j] < a[i]) {
                    dp[i] = max(dp[i], dp[j] + a[i] );
                }
            }
            answer = max(answer, dp[i]);
        }
        printf("%d", answer);
    }
}

全部评论

相关推荐

07-22 11:53
门头沟学院 Java
终于有一个保底的offer了,但感觉是白菜价
北凝a:我想问问,提前批的offer 有问你啥时候到岗吗,如果你还想找其他的怎么办
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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