题解 | #不相邻取数#

不相邻取数

http://www.nowcoder.com/practice/a2be806a0e5747a088670f5dc62cfa1e

类似于打家劫舍,取不相邻的数,记得输出的时候,换成%lld

#include <iostream>
using namespace std;

const int N = 100010;
int a[N];
long long f[N];
int n;

int main() {
    cin >> n;
    for (int i = 1; i <= n; i ++) {
        cin >> a[i];
    }
    
    f[0] = 0, f[1] = a[1];
    for (int i = 2; i <= n; i ++) {
        f[i] = max (a[i] + f[i - 2], f[i - 1]);
    }
    
    printf("%lld", f[n]);
    
    return 0;
}
全部评论

相关推荐

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

创作者周榜

更多
牛客网
牛客企业服务