Cod sursa(job #2490873)

Utilizator iulianarsenoiuArsenoiu Iulian iulianarsenoiu Data 11 noiembrie 2019 11:05:38
Problema Oo Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>

using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int n,i,v[100005],dp[100005][3],j,Max;
int main()
{
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
    for(i=1;i<=n;i++)
    {
        if(i>3)
            dp[i][1]=max(dp[i-3][0],dp[i-3][1])+v[i]+v[(i+1)%n];
        else
        {
            int j=i-3;
            j=n+i;
            dp[i][1]=max(dp[j][0],dp[j][1])+v[i]+v[(i+1)%n];
        }
        if(i>1)
            dp[i][0]=max(dp[i-1][0],dp[i-1][1]);
        else
        {
            dp[i][0]=max(dp[n][0],dp[n][1]);
        }
        if(dp[i][1]>Max)
            Max=dp[i][1];
        if(dp[i][0]>Max)
            Max=dp[i][0];
    }
    g<<Max<<'\n';
    return 0;
}