Cod sursa(job #3366810)

Utilizator PortallosAlexandru Vladimir Portallos Data 4 octombrie 2026 14:31:44
Problema Oo Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

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

int n;
int a[100001];

int dpBetween(int l, int r){
    int dp1 = 0, dp2 = 0, dp3 = 0;
    for(int i = l; i <= r; i++){
        int dp = dp1;

        if (i > l)
            dp = max(dp, dp3 + a[i-1] + a[i]);

        dp3 = dp2;
        dp2 = dp1;
        dp1 = dp;
    }
    return dp1;
}


int main() {

    fin>>n;
    for(int i = 1; i <= n; i++)
        fin>>a[i];

    fout<<max(dpBetween(2, n), max(dpBetween(4, n - 1) + a[1] + a[2], dpBetween(3, n - 1) + a[1] + a[n]));

    return 0;
}