Pagini recente » Cod sursa (job #1451220) | Cod sursa (job #909721) | Cod sursa (job #57286) | Cod sursa (job #199723) | Cod sursa (job #131194)
Cod sursa(job #131194)
#include<stdio.h>
#include<string.h>
#define maxn (1<<17)
long n,s[maxn],a[maxn],sol;
long max(long a,long b)
{
if( a >b) return a;
return b;
}
int main()
{
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
scanf("%ld",&n);
for( long i = 1; i <= n; ++i)
{
scanf("%ld",&a[i]);
}
n--;
s[0] = 0;
s[1] = 0;
s[2] = a[1]+a[2];
for(long i = 3; i <= n; ++i)
s[i] = max(s[i-1], s[i-3] + a[i-1] +a[i]);
sol = s[n];
memset(s,0,sizeof(s));
s[3] = a[2] + a[3];
n++;
for(long i = 3; i <= n; ++i)
s[i] = max(s[i-1], s[i-3] + a[i-1] +a[i]);
sol = max(sol,s[n]);
printf("%ld\n",sol);
return 0;
}