Pagini recente » Cod sursa (job #2769206) | Cod sursa (job #555982) | Cod sursa (job #829073) | Cod sursa (job #2847710) | Cod sursa (job #41963)
Cod sursa(job #41963)
# include <stdio.h>
# define input "oo.in"
# define output "oo.out"
# define max 100001
long a[max],i,j,n,b[max],c[max],x,nr,rez,val,d[max];
int val2;
int main()
{
freopen(input,"r",stdin);
freopen(output,"w",stdout);
scanf("%ld",&n);
for(i=4;i<=n+3;i++)
scanf("%ld",&a[i]);
b[4] = a[4]+a[n+3];
c[4] = 1;
for(i = 5;i<=n+1;i++)
{
x=a[i]+a[i-1];
nr = x+b[i-3];
val = c[i-3];
val2 = d[i-3];
if(nr < x+b[i-4])
nr=x+b[i-4],val=c[i-4],val2=d[i-4];
if(nr < x+b[i-5])
nr = x+b[i-5],val=c[i-5],val2=d[i-5];
if(rez<b[i])
rez = b[i];
b[i] = nr;
c[i] = val;
d[i] = val2;
if(i == 5)
d[i] = 1;
}
x = a[n+1]+a[n+2];
if(!c[n-3])
nr=x+b[n-3];
else
nr = b[n-3];
if(rez<nr)
rez=nr;
if(!c[n-2])
nr=x+b[n-2];
else
nr = b[n-2];
if(rez<nr)
rez=nr;
if(!c[n-1])
nr=x+b[n-1];
else
nr = b[n-1];
if(rez<nr)
rez=nr;
x = a[n+2]+a[n+3];
if(!d[n-1])
nr=x+b[n-1];
else
nr = b[n-1];
if(rez<nr)
rez=nr;
if(!d[n-2])
nr=x+b[n-2];
else
nr = b[n-2];
if(rez<nr)
rez=nr;
if(!d[n])
nr=x+b[n];
else
nr = b[n];
if(rez<nr)
rez=nr;
printf("%ld",rez);
return 0;
}