Pagini recente » Cod sursa (job #1600506) | Cod sursa (job #3158160) | Cod sursa (job #620005) | Cod sursa (job #1066190) | Cod sursa (job #2308816)
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int d[100005];
int v[100005];
int main()
{ freopen("oo.in", "r",stdin);
freopen("oo.out", "w",stdout);
int n,i,ans=0;
scanf("%d", &n);
for(i=1; i<=n; i++)
scanf("%d", &v[i]);
v[n+1]=v[1];
d[2]=v[1]+v[2];
d[3]=d[4]=d[2];
for(i=5; i<n; i++)
d[i]=max(d[i-1], d[i-3]+v[i-1]+v[i]);
d[n]=d[n-1];
ans=d[n];
memset(d, 0, sizeof(d));
d[3]=v[2]+v[3];
d[4]=d[5]=d[3];
for(i=6; i<=n; i++)
d[i]=max(d[i-1], d[i-3]+v[i-1]+v[i]);
ans=max(ans, d[n]);
memset(d, 0, sizeof(d));
d[4]=v[3]+v[4];
d[5]=d[6]=d[4];
for(i=7; i<=n+1; i++)
d[i]=max(d[i-1], d[i-3]+v[i-1]+v[i]);
ans=max(ans, d[n+1]);
printf("%d", ans);
return 0;
}