Pagini recente » Cod sursa (job #2312636) | Cod sursa (job #2147460) | Cod sursa (job #477760) | Cod sursa (job #2887394) | Cod sursa (job #1345277)
#include <cstdio>
using namespace std;
int MAX,i,n,a[100005],d[100005];
int MaX(int x,int y)
{
if(x>y) return x;
return y;
}
inline void Z(int x,int y)
{
int i;d[x]=0;
d[x+1]=a[x]+a[x+1];
for(i=x+2;i<=y;++i)
d[i]=MaX(d[i-1],d[i-3]+a[i]+a[i-1]);
MAX=MaX(MAX,d[y]);
}
int main()
{
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;++i)
scanf("%d",&a[i]);
a[n+1]=a[1];
a[0]=a[n];
MAX=-1;
Z(1,n-1);
Z(2,n);
Z(3,n+1);
printf("%d\n",MAX);
return 0;
}