Pagini recente » Cod sursa (job #2050366) | Cod sursa (job #1812036) | Cod sursa (job #2031666) | Cod sursa (job #1639702) | Cod sursa (job #129445)
Cod sursa(job #129445)
#include <cstdio>
const int maxn = 100002;
FILE *in = fopen("oo.in","r"), *out = fopen("oo.out","w");
int n;
int a[maxn];
int b[maxn];
inline int max(int x, int y)
{
return x > y ? x : y;
}
void read()
{
fscanf(in, "%d", &n);
for ( int i = 1; i <= n; ++i )
fscanf(in, "%d", &a[i]);
}
int answ;
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]);
answ = max(answ, b[n-1]);
b[2] = b[3] = a[2] + a[3];
for ( int i = 4; i <= n; ++i )
b[i] = max(b[i-1], a[i] + a[i-1] + b[i-3]);
answ = max(answ, b[n]);
b[1] = 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]);
answ = max(answ, b[n-2]);
}
int main()
{
read();
go();
fprintf(out, "%d\n", answ);
return 0;
}