题解 | #不相邻取数#

不相邻取数

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

#include <iostream>
using namespace std;

long long max(long long a, long long b)
{
    return a > b ? a : b;
}

int main() 
{
    int n = 0;
    long long arr[200000] = {0};
    long long app[200000] = {0};

    cin >> n;
    for (int i = 0; i < n && cin >> arr[i]; i++);

    app[0] = arr[0];
    app[1] = max(arr[1], arr[0]);
    for (int i = 2; i < n; i++)
    {
        app[i] = max(app[i-2] + arr[i], app[i-1]);
    }
    cout << app[n-1];
    return 0;
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

09-17 17:09
门头沟学院 Java
雨忄:有人给出过解法,拖晚点去,然后到时候再找其他理由商量,既增加他们的筛人成本,不一定会给你收回offer ,也能占位避免工贼
秋招的嫡长offer
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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