Pagini recente » Cod sursa (job #626977) | Cod sursa (job #1541987) | Cod sursa (job #380825) | Cod sursa (job #2876694) | Cod sursa (job #380578)
Cod sursa(job #380578)
#include<stdio.h>
#include<algorithm>
using namespace std;
int a[100100],x[100100],x1[100100],x2[100100],i,j,n,rez;
int main()
{
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;++i) scanf("%d",&a[i]);
x[2]=a[1]+a[2];
x[3]=x[2];
x[4]=x[2];
if(x[2]>rez) rez=x[2];
for(i=5;i<n;++i) { x[i]=max(x[i-1],x[i-3]+a[i-1]+a[i]);
if(x[i]>rez) rez=x[i];
}
x1[3]=a[2]+a[3];
x1[4]=x1[5]=x1[3];
if(x1[3]>rez) rez=x1[3];
for(i=6;i<=n;++i) { x1[i]=max(x1[i-1],x1[i-3]+a[i-1]+a[i]);
if(x1[i]>rez) rez=x1[i];
}
x2[1]=a[1]+a[n];
x2[2]=x2[3]=x2[1];
if(x2[1]>rez) rez=x2[1];
for(i=4;i<n-1;++i) { x2[i]=max(x2[i-1],x2[i-3]+a[i-1]+a[i]);
if(x2[i]>rez) rez=x2[i];
}
printf("%d\n",rez);
fclose(stdin);
fclose(stdout);
return 0;
}