Cod sursa(job #3366813)

Utilizator PortallosAlexandru Vladimir Portallos Data 4 octombrie 2026 14:36:27
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.57 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 dp=0, dp1=0, dp2=0, dp3=0;
    for(int i = l+1; i <= r; i++){
        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 - 2) + a[1] + a[n]));

    return 0;
}