Cod sursa(job #3280495)

Utilizator Alex283810Mocan Alexandru Valnetin Alex283810 Data 26 februarie 2025 16:44:22
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
std::ifstream fin("oo.in");
std::ofstream fout("oo.out");
int v[100005];
int n, add;
int dp[100006];
int solve(int start ,int end)
{
    for(int i = 1; i <= n + 1; i++)
        dp[i] = 0;
    
    for(int i = start + 1; i <= end + start + 1; i++)
    {
        add = 0;
        if(i >= 4)
        {
            add = dp[i - 3];
        }
        dp[i] = std::max(dp[i - 1], v[i] + v[i - 1] + add);
    }
    return dp[start + n - 2];
}

int main()
{
    
    fin >> n;
    for(int i = 1; i <= n; i++)
    {
        fin >> v[i];
    }
    v[n + 1] = v[1];
    int rez = std::max(solve(1, n), std::max(solve(2, n), solve(3, n)));
    fout << rez ;
    return 0;
}