Pagini recente » Cod sursa (job #728846) | Cod sursa (job #1227855) | Cod sursa (job #865504) | Cod sursa (job #2481229) | Cod sursa (job #387586)
Cod sursa(job #387586)
#include<stdio.h>
#define maxim(a,b) a>b ? a : b
int n,max,v[100006],d[100006];
int main ()
{
int i;
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
d[1]=v[1]+v[2];
d[2]=maxim(v[2]+v[3],d[1]);
for(i=3;i<=n-2;i++)
d[i]=maxim(d[i-3]+v[i]+v[i+1],d[i-1]);
if(d[n-2]>max)
max=d[n-2];
d[0]=d[1]=0;
d[2]=v[2]+v[3];
for(i=3;i<=n-1;i++)
d[i]=maxim(d[i-3]+v[i]+v[i+1],d[i-1]);
if(d[n-1]>max)
max=d[n-1];
d[0]=d[1]=d[2]=0;
for(i=3;i<=n-1;i++)
d[i]=maxim(d[i-3]+v[i]+v[i+1],d[i-1]);
d[n]=maxim(d[n-1],d[n-3]+v[n]+v[1]);
if(d[n]>max)
max=d[n];
printf("%d\n",max);
return 0;
}