Pagini recente » Cod sursa (job #2184892) | Cod sursa (job #942853) | Cod sursa (job #486886) | Cod sursa (job #1589425) | Cod sursa (job #2295016)
#include <fstream>
#include <iostream>
#define Nmax 100002
using namespace std;
int n;
int a[Nmax];
int b[Nmax];
int ans;
void read()
{
scanf("%d", &n);
for ( int i = 1; i <= n; i++ )
scanf("%d", &a[i]);
}
void go()
{
b[2] = a[1] + a[2];
for ( int i = 3; i <= n; i++ )
b[i] = max(b[i-1], a[i] + a[i-1] + b[i-3]);
ans = max(ans, b[n-1]);
b[2] = 0;
for ( int i = 3; i <= n; i++ )
b[i] = max(b[i-1], a[i] + a[i-1] + b[i-3]);
ans = max(ans, b[n]);
b[1] = b[2] = a[1] + a[n];
for ( int i = 3; i < n - 1; i++ )
b[i] = max(b[i-1], a[i] + a[i-1] + b[i-3]);
ans = max(ans, b[n-2]);
}
int main()
{
freopen ("oo.in", "r", stdin);
freopen ("oo.out", "w", stdout);
read();
go();
printf("%d\n", ans);
return 0;
}