Cod sursa(job #1927671)

Utilizator rares96cheseliRares Cheseli rares96cheseli Data 15 martie 2017 13:08:46
Problema Oo Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>

#define NMAX 100005

using namespace std;

ifstream f("oo.in");
ofstream g("oo.out");

int N, dp[3][NMAX], a[NMAX];

int main() {
    f >> N;
    for (int i = 1; i <= N; ++i) {
        f >> a[i];
    }

    dp[0][1] = 0;
    dp[0][2] = 0;

    for (int i = 3; i <= N; ++i) {
        dp[0][i] = max(dp[0][i - 1], max(dp[0][i - 2], a[i] + a[i - 1] + dp[0][i - 3]));
    }

    int ans = max(dp[0][N], dp[0][N - 1]);

    dp[0][0] = 0;
    dp[0][1] = 0;

    for (int i = 2; i <= N; ++i) {
        dp[0][i] = max(dp[0][i - 1], max(dp[0][i - 2], a[i] + a[i - 1] + dp[0][i - 3]));
    }

    ans = max(ans, dp[0][N - 1]);

//    for (int i = 1; i <= N; ++i) {
//        g << dp[i] << ' ';
//    }
//
//    g << '\n';

    g << ans << '\n';
    return 0;
}