Pagini recente » Cod sursa (job #988157) | Cod sursa (job #1114668) | Cod sursa (job #2181557) | Cod sursa (job #2696725) | Cod sursa (job #32772)
Cod sursa(job #32772)
#include<stdio.h>
#include<fstream.h>
#define nmax 100002
long v[nmax],n;
inline long max(long a, long b) {return a>b?a:b;}
void citire(); void afisare(long);long rezolva();
int main()
{citire();
afisare(rezolva());
return 0;
}
void citire()
{long i;
freopen("oo.in","r",stdin);
scanf("%ld",&n);
for(i=1;i<=n;i++)
scanf("%ld",&v[i]);
}
void afisare(long sol)
{freopen("oo.out","w",stdout);
printf("%ld",sol);
fclose(stdout);
}
long rezolva()
{long j,solutie,sol[nmax];
memset(sol,0,sizeof(sol));
//initializare();
for(j=2;j<n;j++)
if(j==2)
sol[j]=max(v[1],v[2]);
else
sol[j]=max(max(sol[j-1],sol[j-2]),sol[j-3]+v[j]+v[j-1]);
solutie=sol[n-1];*/
memset(sol,0,sizeof(sol));
for(j=3;j<=n;j++)
sol[j]=max(max(sol[j-1],sol[j-2]),sol[j-3]+v[j]+v[j-1]);
return max(solutie,sol[n]);
}