Pagini recente » Cod sursa (job #3137552) | Cod sursa (job #1977494) | Cod sursa (job #3173727) | Cod sursa (job #2897180) | Cod sursa (job #278334)
Cod sursa(job #278334)
#include<stdio.h>
FILE*f=fopen("oo.in","r");
FILE*g=fopen("oo.out","w");
long n;
int a[100001],b[100001],ans;
void citire()
{
long i;
fscanf(f,"%ld",&n);
for(i=1;i<=n;i++)
fscanf(f,"%d",&a[i]);
}
int max(int x,int y)
{
if(x>y) return x;
return y;
}
int solve()
{
int i;
b[2]=a[1]+a[2];
for(i=3;i<=n;++i)
b[i]=max(b[i-1],a[i]+a[i-1]+b[i-3]);
ans=max(ans,b[n-1]);
b[2]=0;
for(i=3;i<=n;++i)
b[i]=max(b[i-1],a[i]+a[i-1]+b[i-3]);
ans=max(ans,b[n]);
b[1]=b[2]=a[1]+a[n];
b[0]=0;
for(i=3;i<n-1;++i)
b[i]=max(b[i-1],a[i]+a[i-1]+b[i-3]);
ans=max(ans,b[n-2]);
return ans;
}
int main()
{
citire();
fprintf(g,"%d",solve());
return 0;
}