Pagini recente » Cod sursa (job #2506240) | Cod sursa (job #2917510) | Cod sursa (job #894237) | Cod sursa (job #689873) | Cod sursa (job #3275811)
#include <fstream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("oo.in");
ofstream cout("oo.out");
const int MAX_N = 100001;
int n, v[MAX_N], dp[MAX_N];
int maxOua(int start, int endi) {
dp[start] = 0;
dp[start + 1] = v[start] + v[start + 1];
for (int i = start + 2; i <= endi; ++i) {
dp[i] = max(dp[i - 1], v[i] + v[i - 1] + (i >= start + 3 ? dp[i - 3] : 0));
}
return dp[endi];
}
int main() {
cin >> n;
for (int i = 1; i <= n; ++i)
cin >> v[i];
if (n == 2) {
cout << v[1] + v[2] << "\n";
return 0;
}
int res1 = maxOua(1, n - 1);
int res2 = maxOua(2, n);
cout << max(res1, res2) << "\n";
return 0;
}