Pagini recente » Cod sursa (job #495722) | Cod sursa (job #1686143) | Cod sursa (job #1611875) | Cod sursa (job #2625373) | Cod sursa (job #1345260)
#include <cstdio>
using namespace std;
int MAX,i,n,a[500],d1[500],d2[500];
int MaX(int x,int y)
{
if(x>y) return x;
return 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]);
////////////////////////////
d1[2]=a[1]+a[2];
d2[2]=0;d2[3]=d1[2];
for(i=4;i<n;++i)
{
d1[i]=a[i]+d2[i-2]+a[i-1];
d2[i]=MaX(d1[i-1],d2[i-1]);
}
MAX=MaX(d1[n-1],d2[n-1]);
/////////////////////////////
d1[3]=a[2]+a[3];
d2[3]=0;d2[4]=d1[3];
for(i=5;i<=n;++i)
{
d1[i]=a[i]+d2[i-2]+a[i-1];
d2[i]=MaX(d1[i-1],d2[i-1]);
}
MAX=MaX(MAX,MaX(d1[n-1],d2[n-1]));
/////////////////////////////
d1[1]=a[1]+a[n];
d2[1]=0;d2[2]=d1[3];
for(i=3;i<n-1;++i)
{
d1[i]=a[i]+d2[i-2]+a[i-1];
d2[i]=MaX(d1[i-1],d2[i-1]);
}
MAX=MaX(MAX,MaX(d1[n-1],d2[n-1]));
printf("%d\n",MAX);
return 0;
}