Cod sursa(job #3208146)

Utilizator antonio_sefu_tauLaslau Antonio antonio_sefu_tau Data 27 februarie 2024 21:29:23
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>
using namespace std;
const int dim=1e5+5;
int n,a[dim],dp[dim],sol;
int main(){
    ifstream f("oo.in");
    ofstream g("oo.out");
    f>>n;
    for(int i=1;i<=n;i++){
        f>>a[i];
    }
    dp[2]=a[1]+a[2];
    for(int i=3;i<n;i++){
        dp[i]=max(dp[i-1],dp[i-3]+a[i]+a[i-1]);
    }
    sol=dp[n-1];
    dp[2]=0;
    for(int i=3;i<=n-3;i++){
        dp[i]=max(dp[i-1],dp[i-3]+a[i]+a[i-1]);
    }
    sol=max(sol,dp[n-3]+a[n-1]+a[n]);
    dp[3]=0;
    for(int i=4;i<=n-2;i++){
        dp[i]=max(dp[i-1],dp[i-3]+a[i]+a[i-1]);
    }
    sol=max(sol,dp[n-2]+a[n]+a[1]);
    g<<sol;
    return 0;
}