Cod sursa(job #2489723)

Utilizator DragosSDragos Sarbu DragosS Data 9 noiembrie 2019 11:29:49
Problema Oo Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("oo.in");
ofstream g("oo.out");

int a[100004],dp[100004];
int n;



int main()
{
    int i,M;

    f>>n;

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

    dp[1]=0;
    dp[2]=a[1]+a[2];
    dp[3]=dp[2];
    dp[4]=dp[3];
    for(i=5;i<n;i++)
    {
        dp[i]=max(dp[i-1],a[i]+a[i-1]+dp[i-3]);
    }
    M=dp[n-1];

    dp[1]=0;
    dp[2]=0;
    dp[3]=a[2]+a[3];
    dp[4]=dp[5]+dp[3];
    for(i=6;i<=n;i++)
    {
        dp[i]=max(dp[i-1],a[i]+a[i-1]+dp[i-3]);
    }
    M=max(M,dp[n]);

    dp[1]=a[1]+a[n];
    dp[2]=dp[3]=dp[1];

    for(i=4;i<=n-2;i++)
    {
        dp[i]=max(dp[i-1],a[i]+a[i-1]+dp[i-3]);
    }
    M=max(M,dp[n]);
    g<<M;
}