Cod sursa(job #1927649)

Utilizator rares96cheseliRares Cheseli rares96cheseli Data 15 martie 2017 12:49:16
Problema Oo Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>

#define NMAX 100005

using namespace std;

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

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

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

    a[++N] = a[1];
    a[++N] = a[2];

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

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

    g << max(dp[N - 1] - dp[1], dp[N] - dp[2]) << '\n';
    return 0;
}