Pagini recente » Cod sursa (job #1652917) | Cod sursa (job #1189316) | Cod sursa (job #955442) | Cod sursa (job #2371730) | Cod sursa (job #1947179)
#include <stdio.h>
const int nmax=100001;
int v[nmax];
int a[nmax];
int max(int a, int b)
{
if (a < b)
return b;
return a;
}
int main()
{
FILE *f;
int n,i,mx,mc;
f=fopen("oo.in","r");
fscanf(f,"%d",&n);
for (i=1; i<=n; i++)
fscanf(f,"%d",&v[i]);
fclose(f);
mx=0;
mc=v[1]+v[2];
a[4]=v[4];
for (i=5; i<n-1; i++)
a[i]=max(a[i-1],v[i]+v[i-1]+a[i-4]);
mc+=a[n-2];
if (mc > mx)
mx=mc;
mc=v[1]+v[n];
a[3]=v[3];
for (i=4; i<n-2; i++)
a[i]=max(a[i-1],v[i]+v[i-1]+a[i-4]);
mc+=a[n-3];
if (mc > mx)
mx=mc;
mc=v[2]+v[3];
a[5]=v[5];
for (i=6; i<=n; i++)
a[i]=max(a[i-1],v[i]+v[i-1]+a[i-4]);
mc+=a[n];
if (mc > mx)
mx=mc;
f=fopen("oo.out","w");
fprintf(f,"%d",mx);
fclose(f);
}