Cod sursa(job #3232120)

Utilizator magicninjaJula Diana magicninja Data 28 mai 2024 23:37:50
Problema Oo Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int dp[100001], v[100001];
int main()
{
    int n, i, rez1 = 0, rez2 = 0, rez3 = 0;
    cin >> n;
    for(i = 1; i <= n; i++){
        cin >> v[i];
    }

    dp[1] = 0;
    dp[2] = v[1] + v[n];
    for(i = 3; i <= n - 1; i++){
        dp[i] = max(dp[i - 1], dp[i - 3] + v[i - 2] + v[i - 1]);
        rez1 = dp[i];
    }

    dp[1] = dp[2] = 0;
    for(i = 3; i <= n; i++){
        dp[i] = max(dp[i - 1], dp[i - 3] + v[i - 2] + v[i - 1]);
        rez2 = dp[i];
    }
    dp[1] = dp[2] = dp[3] = 0;

    for(i = 4; i <= n + 1; i++){
        dp[i] = max(dp[i - 1], dp[i - 3] + v[i - 2] + v[i - 1]);
        rez3 = dp[i];
    }

    rez1 = max(rez2, rez1);
    rez1 = max(rez1, rez3);
    cout << rez1;
    return 0;
}