Pagini recente » Cod sursa (job #2343105) | Cod sursa (job #3239768) | Cod sursa (job #1809399) | Cod sursa (job #2477651) | Cod sursa (job #1086336)
#include<stdio.h>
#define DIM 100010
FILE *f=fopen("oo.in","r"), *g=fopen("oo.out","w");
long int n, v[DIM], d[DIM], max;
long int maximul(long int X, long int Y){if(X>Y){return X;}return Y;}
void citire(){
long int i;
fscanf(f,"%ld\n",&n);
for(i=1;i<=n;i++){fscanf(f,"%ld",&v[i]);}
}
void rezolvare(){
long int i;
max=0;
d[2]=v[1]+v[2];
for(i=3;i<=n-1;i++){
d[i]= maximul( d[i-1], d[i-3]+v[i-1]+v[i] );
} max= maximul( max, d[n-1] );
d[2]=0; d[3]=v[2]+v[3];
for(i=4;i<=n;i++){
d[i]= maximul( d[i-1], d[i-3]+v[i-1]+v[i] );
} max= maximul( max, d[n] );
d[2]=0; d[3]=0; v[n+1]=v[1]; d[4]=v[3]+v[4]; max=maximul(max,d[4]);
for(i=5;i<=n+1;i++){
d[i]= maximul( d[i-1], d[i-3]+v[i-1]+v[i] );
} max= maximul( max, d[n+1] );
}
void afisare(){fprintf(g,"%ld\n",max);}
int main(){
citire();
rezolvare();
afisare();
return 0;
}