Cod sursa(job #1511157)

Utilizator ASTELOTudor Enescu ASTELO Data 26 octombrie 2015 08:53:42
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<cstdio>
#include<algorithm>
using namespace std;
int n,v[100001],d[100001],i,j,k,l,m,k1,k2,k3;
int main ()
{
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
    scanf("%d",&v[i]);
for(i=1;i<=n;i++)
    if(i>=3)
        d[i]=max(v[i]+v[i-1]+d[i-3],d[i-1]);
k1=d[n];
int aux=v[n];
for(i=n;i>1;i--)
    v[i]=v[i-1];
v[1]=aux;
for(i=1;i<=n;i++)
    if(i>=3)
        d[i]=max(v[i]+v[i-1]+d[i-3],d[i-1]);
k2=d[n];
aux=v[n];
for(i=n;i>1;i--)
    v[i]=v[i-1];
v[1]=aux;
for(i=1;i<=n;i++)
    if(i>=3)
        d[i]=max(v[i]+v[i-1]+d[i-3],d[i-1]);
k3=d[n];
printf("%d",max(max(k1,k2),k3));
return 0;
}