Cod sursa(job #3275809)

Utilizator mihai_bosIancu Mihai mihai_bos Data 11 februarie 2025 19:54:42
Problema Oo Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

const int MAX_N = 100001;
int n, v[MAX_N], dp[MAX_N];

int maxOua(int start, int endi) {
    dp[start] = 0;
    dp[start + 1] = v[start] + v[start + 1];

    for (int i = start + 2; i <= endi; ++i) {
        dp[i] = max(dp[i - 1], v[i] + v[i - 1] + (i >= start + 3 ? dp[i - 3] : 0));
    }

    return dp[endi];
}

int main() {
    cin >> n;
    for (int i = 1; i <= n; ++i)
        cin >> v[i];

    if (n == 2) {
        cout << v[1] + v[2] << "\n";
        return 0;
    }

    int res1 = maxOua(1, n - 1);
    int res2 = maxOua(2, n);

    cout << max(res1, res2) << "\n";

    return 0;
}