Pagini recente » Cod sursa (job #1277246) | Cod sursa (job #2007926) | Cod sursa (job #1316640) | Cod sursa (job #2953984) | Cod sursa (job #164040)
Cod sursa(job #164040)
#include <stdio.h>
#define Nmax 100101
int c[Nmax];
int n, i, rez;
int v[Nmax];
inline int max(int x, int y) { return x > y ? x : y; }
inline int max ( int x, int y, int z ) { return max(x,max(y,z)); }
int main()
{
freopen("oo.in", "r", stdin);
scanf("%d ", &n);
for (i=1; i<=n; i++)
scanf("%d ", &v[i]);
fclose(stdin);
c[2] = rez = v[2] + v[1];
for (i = 5; i<n; i++)
{
c[i] = v[i] + v[i-1] + max(c[i-3], c[i-4], c[i-5]);
rez = max(rez,c[i]);
}
c[2] = c[5] = 0;
c[3] = v[3] + v[2];
rez = max(rez, c[3]);
for (i = 6; i<=n; i++)
{
c[i] = v[i] + v[i-1] + max(c[i-3], c[i-4], c[i-5]);
rez = max(rez, c[i]);
}
c[3] = c[6] = 0;
v[n+1] = v[1];
for (i = 7; i<=n+1; i++)
{
c[i] = v[i] + v[i-1] + max(c[i-3], c[i-4], c[i-5]);
rez = max(rez, c[i]);
}
fprintf(fopen("oo.out", "w"), "%d ", rez);
return 0;
}