Cod sursa(job #3328823)

Utilizator mihiboiBacis Mihai-Cristian mihiboi Data 10 decembrie 2025 17:14:42
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");

const int Nmax = 1e5 + 5;
int v[Nmax], dp[Nmax];
int main()
{
    int n, i;
    fin >> n;
    for ( i = 1; i <= n; ++i )
        fin >> v[i];

    for ( i = 3; i <= n; ++i )
        dp[i] = max(v[i] + v[i - 1] + dp[i - 3], dp[i - 1]);

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

    sol = max(sol, dp[n - 1]);


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

    sol = max(sol, dp[n - 2]);


    fout << sol << '\n';
    return 0;
}