Pagini recente » Cod sursa (job #988875) | Cod sursa (job #397706) | Cod sursa (job #554745) | Cod sursa (job #19114) | Cod sursa (job #2986430)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int n, mx, v[100005];
int dp[100005], dp2[100005], dp3[100005];
int main() {
fin >> n;
for (int i=0;i<n;i++) {
cin >> v[i];
}
for (int i=1;i<n;i++) {
int c1 = dp[(i+n-3)%n] + v[(i+n-1)%n] + v[i];
int c2 = dp[(i+n-4)%n] + v[(i+n-1)%n] + v[i];
int c3 = dp[(i+n-5)%n] + v[(i+n-1)%n] + v[i];
if (i >= 1 && i < n-4) dp[i] = max(max(c1, c2), c3);
if (i >= 2 && i < n-3) dp2[i] = max(max(c1, c2), c3);
if (i >= 3 && i < n-2) dp3[i] = max(max(c1, c2), c3);
//cout << max(max(dp[i], dp2[i]), dp3[i]) << " ";
mx = max(mx, max(max(dp[i], dp2[i]), dp3[i]));
}
fout << mx;
return 0;
}