Pagini recente » Cod sursa (job #2490932) | Cod sursa (job #561348) | Cod sursa (job #1504846) | Cod sursa (job #1255010) | Cod sursa (job #2047488)
#include <iostream>
#include <cstdio>
#define MAXN 100001
using namespace std;
FILE *fin=fopen("oo.in","r"),*fout=fopen("oo.out","w");
int n,v[MAXN],smax=-1,opt[MAXN];
void calc(int in,int out){
opt[in]=v[in]+v[in+1];
opt[in+1]=max(opt[in],v[in+1]+v[in+2]);
opt[in+2]=max(opt[in+1],v[in+2]+v[in+3]);
for(int i=in+3;i<out;i++){
opt[i]=max(opt[i-1],opt[i-3]+v[i]+v[i+1]);
}
if(opt[out-1]>smax)
smax=opt[out-1];
}
int main(){
fscanf(fin,"%d",&n);
for(int i=1;i<=n;i++){
fscanf(fin,"%d",&v[i]);
}
v[0]=v[n];
calc(1,n-1);
calc(2,n);
calc(0,n-2);
fprintf(fout,"%d",smax);
return 0;
}