Cod sursa(job #3288796)

Utilizator alexdraguAlexandru Dragu alexdragu Data 24 martie 2025 12:20:41
Problema Oo Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>

using namespace std;
ifstream cin("oo.in");
ofstream cout("oo.out");
int n,i,v[100005],s[100005],d[100005],mx,e[100005],f[100005];
int main()
{
    cin>>n;
    for(i=1; i<=n; i++) cin>>v[i];
    v[n+1]=v[1];
    for(i=1; i<=n; i++) s[i]=v[i]+v[i+1];
    d[1]=s[1];
    d[2]=s[2];
    d[3]=s[3];
    mx=s[1];
    for(i=4; i<=n-2; i++)
    {
        d[i]=max(d[i-1],max(d[i-2],s[i]+d[i-3]));
    }
    for(i=1; i<=n-2; i++)
    {
        mx=max(mx,d[i]);
    }
    e[2]=s[2];
    e[3]=s[3];
    e[4]=s[4];
    for(i=5; i<=n-1; i++)
    {
        e[i]=max(e[i-1],max(e[i-2],s[i]+e[i-3]));
    }
    for(i=2; i<=n-1; i++)
    {
        mx=max(mx,e[i]);
    }
    f[3]=s[3];
    f[4]=s[4];
    f[5]=s[5];
    for(i=6;i<=n;i++)
    {
        f[i]=max(f[i-1],max(f[i-2],s[i]+f[i-3]));
    }
    for(i=3; i<=n; i++)
    {
        mx=max(mx,f[i]);
    }
    cout<<mx;
    return 0;
}