Pagini recente » Cod sursa (job #964505) | Cod sursa (job #688657) | Cod sursa (job #705515) | Cod sursa (job #2042222) | Cod sursa (job #132423)
Cod sursa(job #132423)
#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-1;++i) a[i]=max(oo[i]+oo[i-1]+a[i-3],a[i-1]);
s3=a[n-2];
}
else s1=oo[1];
fprintf(g,"%d\n",max(max(s1,s2),s3));
return 0;
}