Pagini recente » Cod sursa (job #2819120) | Cod sursa (job #2668121) | Cod sursa (job #2678969) | Cod sursa (job #2749899) | Cod sursa (job #1966341)
#include <fstream>
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
#define MAX_N 100001
int a[MAX_N];
int v[MAX_N];
int main()
{
ifstream in("oo.in");
ofstream out("oo.out");
int n;
int sol;
in >> n;
for (int i = 1; i <= n; i++) {
in >> a[i];
}
v[1] = a[1] + a[n];
for (int i = 3; i <= n; i++) {
v[i] = max(v[i - 1], v[i - 3] + a[i - 1] + a[i]);
}
sol = v[n - 2];
v[1] = 0;
v[2] = a[2] + a[1];
for (int i = 3; i <= n; i++) {
v[i] = max(v[i - 1], v[i - 3] + a[i - 1] + a[i]);
}
sol = max(sol, v[n - 1]);
v[1] = v[2] = 0;
v[3] = a[2] + a[3];
for (int i = 4; i <= n; i++) {
v[i] = max(v[i - 1], v[i - 3] + a[i - 1] + a[i]);
}
sol = max(sol, v[n]);
out << sol << "\n";
return 0;
}