Pagini recente » Cod sursa (job #649469) | Cod sursa (job #1248799) | Cod sursa (job #477506) | Cod sursa (job #1738488) | Cod sursa (job #227923)
Cod sursa(job #227923)
#include<stdio.h>
#define N 100100
int n,nr[N],s[N],sol;
inline int max(int a,int b){
return a>b?a:b;
}
void s1(){
for(int i=3;i<=n;++i)
s[i]=max(s[i-1],nr[i]+nr[i-1]+s[i-3]);
sol=s[n];
}
void s2(){
s[4]=s[2]=s[3]=nr[1]+nr[2];
for(int i=5;i<n;++i)
s[i]=max(s[i-1],nr[i]+nr[i-1]+s[i-3]);
sol=max(s[n],sol);
}
void s3(){
s[1]=s[2]=s[3]=nr[1]+nr[n];
for(int i=4;i<n-1;++i)
s[i]=max(s[i-1],nr[i]+nr[i-1]+s[i-3]);
sol=max(sol,s[n]);
}
int main(){
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
int i;
scanf("%d",&n);
for(i=1;i<=n;++i)
scanf("%d",&nr[i]);
s1();
s2();
s3();
printf("%d\n",sol);
fclose(stdin);
fclose(stdout);
return 0;
}