Pagini recente » Cod sursa (job #434341) | Rating Marton Daniela (Dana.mtn) | Cod sursa (job #3197756) | Cod sursa (job #1119285) | Cod sursa (job #339514)
Cod sursa(job #339514)
#include <stdio.h>
#include <algorithm>
#include <string.h>
using namespace std;
#define MAX_N 100010
int A[MAX_N], c[MAX_N];
int n, sol;
int main() {
freopen("oo.in", "r", stdin);
freopen("oo.out", "w", stdout);
scanf("%d", &n);
for (int i = 1; i <= n; i++)
scanf("%d", &A[i]);
A[n + 1] = A[1]; A[n + 2] = A[2];
for (int j = 0; j < 3; j++) {
memset(c, 0, sizeof(c));
for (int i = 1 + j; i < n + j; i++) {
c[i] = max(c[i - 1], c[i - 2]);
if (i - (1 + j)) c[i] = max(c[i - 3] + A[i - 1] + A[i], c[i]);
}
sol = max(sol, c[n + j - 1]);
}
printf("%d\n", sol);
return 0;
}