Pagini recente » Cod sursa (job #2957327) | Cod sursa (job #2751923) | Cod sursa (job #2763828) | Cod sursa (job #2925681) | Cod sursa (job #2640710)
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define endl "\n"
#define Nmax 100010
ifstream fin ("oo.in");
ofstream fout ("oo.out");
#define cin fin
#define cout fout
/*
ifstream fin("test.in");
#define cin fin
*/
int n;
int def[Nmax];
int dp1[Nmax], dp2[Nmax];
void solve() {
cin >> n;
for(int i = 1; i <= n; i++) {
cin >> def[i];
}
/// Primu caz
for(int i = 1; i <= n - 2; i++) {
dp1[i] = max(dp1[i - 1], dp1[max(i - 3, 0)] + def[i] + def[i + 1]);
}
int val1 = dp1[n - 2];
/// Al doilea caz
for(int i = 2; i <= n - 1; i++) {
dp2[i] = max(dp2[i - 1], dp2[max(i - 3, 0)] + def[i] + def[i + 1]);
}
int val2 = dp2[n - 1];
/*
for(int i = 1; i <= n; i++) {
cout << dp2[i] << " ";
}
cout << endl;
}
*/
cout << max(val1, val2);
}
int main() {
ios_base::sync_with_stdio(0);
cin .tie(0);
cout.tie(0);
int testCases = 1;
//cin >> testCases;
while(testCases--) {
solve();
}
}