Cod sursa(job #3032464)

Utilizator mihneabbbsfhgdsf mihneabbb Data 22 martie 2023 10:33:57
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <bits/stdc++.h>
using namespace std;

int v[100001], n, dp[100001];

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

void resetdp(){
    for(int i=1; i<=n; i++){
        dp[i]=0;
    }
}

int solve(int s, int f){
    for(int i=s; i<=f; i++){
        dp[i]=max(v[i]+v[i-1]+dp[i-3], max(dp[i-2], dp[i-1]));
    }
    return dp[f];
}

int main(){
    int ans=INT_MIN;
    fin >> n;
    for(int i=1; i<=n; i++){
        fin >> v[i];
    }
    ans=max(ans, solve(5, n-1)+v[1]+v[2]);
    resetdp();
    ans=max(ans, solve(4, n-2)+v[n]+v[1]);
    resetdp();
    ans=max(ans, solve(6, n)+v[2]+v[3]);
    resetdp();
    ans=max(ans, solve(4, n));
    fout << ans;
}