Pagini recente » Cod sursa (job #2977231) | Cod sursa (job #1822842) | Cod sursa (job #69640) | Cod sursa (job #1753982) | Cod sursa (job #1346773)
#include <cstdio>
#include <algorithm>
using namespace std;
int v[100010], d[100010];
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", &v[i]);
d[1] = d[2] = v[1] + v[n];
for (int i = 3; i < n - 1; ++i)
d[i] = max (d[i - 1], d[i - 3] + v[i] + v[i - 1]);
int ma = d[n - 2];
for (int i = 1; i <= n; ++i)
d[i] = 0;
d[2] = v[1] + v[2];
for (int i = 3; i < n; ++i)
d[i] = max (d[i - 1], d[i - 3] + v[i] + v[i - 1]);
ma = max (ma, d[n - 2]);
for (int i = 1; i <= n; ++i)
d[i] = 0;
d[3] = v[2] + v[3];
for (int i = 4; i <= n; ++i)
d[i] = max (d[i - 1], d[i - 3] + v[i] + v[i - 1]);
ma = max (ma, d[n - 2]);
printf ("%d\n", ma);
return 0;
}