Pagini recente » Cod sursa (job #1832265) | Cod sursa (job #1122681) | Cod sursa (job #2581608) | Cod sursa (job #3189536) | Cod sursa (job #590298)
Cod sursa(job #590298)
#include <iostream>
using namespace std;
#define maxN 100005
int rsp, A[maxN], sol[maxN];
int main()
{
freopen ("oo.in", "r", stdin);
freopen ("oo.out", "w", stdout);
int N;
scanf ("%d", &N);
for (int i = 1; i <= N; ++ i) scanf ("%d", &A[i]);
A[N + 1] = A[1];
sol[2] = A[1] + A[2];
for (int i = 3; i < N; ++ i)
{
sol[i] = max (sol[i - 1], sol[i - 3] + A[i] + A[i - 1]);
rsp = max (rsp, sol[i]);
}
memset (sol, 0, sizeof (sol));
sol[3] = A[2] + A[3];
for (int i = 4; i <= N; ++ i)
{
sol[i] = max (sol[i - 1], sol[i - 3] + A[i] + A[i - 1]);
rsp = max (rsp, sol[i]);
}
memset (sol, 0, sizeof (sol));
sol[4] = A[3] + A[4];
for (int i = 5; i <= N + 1; ++ i)
{
sol[i] = max (sol[i - 1], sol[i - 3] + A[i] + A[i - 1]);
rsp = max (rsp, sol[i]);
}
printf ("%d", rsp);
return 0;
}