Pagini recente » Cod sursa (job #373678) | Cod sursa (job #2937411) | Cod sursa (job #3245156) | Cod sursa (job #3225723) | Cod sursa (job #290921)
Cod sursa(job #290921)
#include<stdio.h>
#define Nmx 100010
#define max(a,b) ((a)>(b)?(a):(b))
int i,j,k,l,m,n,v[Nmx],d1[Nmx],d2[Nmx];
int main(){
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
scanf("%d",&n);
scanf("%d %d",&v[1],&v[2]);
if(n==2)
{printf("%d",v[1]+v[2]);
return 0;
}
d1[2]=v[1]+v[2];
m=d1[2];
for(i=3;i<n;i++)
{scanf("%d",&v[i]);
d1[i]=max(d1[i-1],d1[i-3]+v[i]+v[i-1]);
d2[i]=max(d2[i-1],d2[i-3]+v[i]+v[i-1]);
if(d1[i]>m)m=d1[i];
if(d2[i]>m)m=d2[i];}
scanf("%d",&v[n]);
d2[n]=max(d2[n-1],d2[n-3]+v[n-1]+v[n]);
if(d2[n]>m)m=d2[n];
printf("%d",m);
return 0;}