Pagini recente » Cod sursa (job #2037583) | Cod sursa (job #1986474) | Cod sursa (job #1651085) | Clasament tpsimulare | Cod sursa (job #2015697)
#include<bits/stdc++.h>
using namespace std;
const int nmax=1e5+5;
int v[nmax];
inline int max(int a,int b){
if (a>b)
return a;
return b;
}
inline int xx(int s,int f){
int dp[nmax];
memset(dp,0,sizeof(dp));
int i;
dp[s+1]=v[s]+v[s+1];
for(i=s+2;i<=f;++i)
dp[i]=max(dp[i-1],dp[i-3]+v[i]+v[i-1]);
return dp[f];
}
int main()
{
int sol,n,i;
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
scanf("%d", &n);
for (i=1;i<=n;++i)
scanf("%d",&v[i]);
v[0]=v[n];
v[n+1]=v[1];
sol=0;
sol=max(xx(1,n-1),max(xx(2,n),xx(3,n+1)));
printf("%d", sol);
}