题解 | 小红的星尘收集

小红的星尘收集

https://www.nowcoder.com/practice/91d2578268574e298e9869be7b070fbb

#include <iostream>
#include <vector>
using namespace std;

int main(){
    vector<int> a;
    int b;
    while(cin>>b){
        a.push_back(b);
    }

    int n=a.size();
    if(n==1){
        cout<<a[0]<<endl;
        return 0;
    }

    vector<int> dp(n+1,0);
    dp[1]=a[0];

    for(int i=2;i<=n;i++){
        dp[i]=max(dp[i-1],dp[i-2]+a[i-1]);
    }
    
    cout<<dp[n]<<endl;
    return 0;

}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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