Pagini recente » Cod sursa (job #2402004) | Cod sursa (job #2966542) | Cod sursa (job #1699280) | Cod sursa (job #1310288) | Cod sursa (job #132435)
Cod sursa(job #132435)
#include<stdio.h>
FILE*f=fopen("oo.in","r");
FILE*g=fopen("oo.out","w");
long sol,oo[122206],a[122206],n,s1,s2,s3;
long max(long a, long b)
{
if(a>b) return a;
else return b;
}
int main()
{
fscanf(f,"%ld",&n);
long i;
for(i=1;i<=n;++i) fscanf(f,"%ld",&oo[i]);
if(n>2)
{
a[2]=oo[1]+oo[2];
for(i=3;i<=n;++i) a[i]=max(oo[i]+oo[i-1]+a[i-3],a[i-1]);
s1=a[n-1];
for(i=0;i<=n;++i) a[i]=0;
for(i=3;i<=n;++i)
a[i]=max(oo[i]+oo[i-1]+a[i-3],a[i-1]);
s2=a[n];
for(i=0;i<=n;++i) a[i]=0;
a[1]=a[2]=oo[1]+oo[n];
for(i=3;i<n-1;++i) a[i]=max(oo[i]+oo[i-1]+a[i-3],a[i-1]);
s3=a[n-2];
}
else
{
s1=oo[1]+oo[0],s2=s1,s3=s1;
}
sol=max(max(s1,s2),s3);
fprintf(g,"%ld\n",sol);
return 0;
}