Pagini recente » Cod sursa (job #1651351) | Cod sursa (job #2915747) | Cod sursa (job #977481) | Cod sursa (job #876663) | Cod sursa (job #132419)
Cod sursa(job #132419)
#include<stdio.h>
#include<string.h>
#define max(a,b) a>b?a:b
FILE*f=fopen("oo.in","r");
FILE*g=fopen("oo.out","w");
int oo[100006],a[100006],n,s1,s2,s3;
int main()
{
fscanf(f,"%d",&n);
int i;
for(i=1;i<=n;++i) fscanf(f,"%d",&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];
memset(a,0,sizeof(a));
for(i=3;i<=n;++i)
a[i]=max(oo[i]+oo[i-1]+a[i-3],a[i-1]);
s2=a[n];
memset(a,0,sizeof(a));
a[1]=a[2]=oo[1]+oo[n];
for(i=3;i<n;++i) a[i]=max(oo[i]+oo[i-1]+a[i-3],a[i-1]);
s3=a[n-2];
}
else s1=oo[1]+oo[2];
fprintf(g,"%d\n",max(max(s1,s2),s3));
return 0;
}