Pagini recente » Cod sursa (job #2284226) | Clasament carnedecal | Cod sursa (job #2488544) | Cod sursa (job #202524) | Cod sursa (job #39312)
Cod sursa(job #39312)
# 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;
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];
if(nr < x+b[i-4])
nr=x+b[i-4],val=c[i-4];
if(nr < x+b[i-5])
nr = x+b[i-5];
b[i] = nr;
c[i] = val;
if(i == 5)
c[i] = 1;
}
x = b[n+1]+b[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 = b[n+2]+b[n+3];
if(!c[n-1])
nr=x+b[n-1];
else
nr = b[n-1];
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])
nr=x+b[n];
else
nr = b[n];
if(rez<nr)
rez=nr;
printf("%ld",rez);
return 0;
}