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

最大上升子序列和

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);
    }
}

全部评论

相关推荐

06-25 09:33
厦门大学 Java
球球别拷打俺了:现在日常估计没啥hc了,等到八月多估计就慢慢有了。双九✌🏻不用焦虑的
投递快手等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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