Pagini recente » Cod sursa (job #2207239) | Cod sursa (job #634555) | Cod sursa (job #990003) | Cod sursa (job #2145412) | Cod sursa (job #2912743)
#include <bits/stdc++.h>
using namespace std;
const int nmax = 1e5;
int v[nmax+5], dp[nmax+5];
int compute(int left, int right) {
dp[left] = 0;
dp[left+1] = v[left] + v[left+1];
for(int i=left+2; i<=right; i++) dp[i] = max(dp[i-1], dp[i-3] + v[i-1] + v[i]);
return dp[right];
}
int main() {
ifstream f("oo.in");
ofstream g("oo.out");
int n; f >> n;
for(int i=1; i<=n; i++) f >> v[i];
v[n+1] = v[1];
g << max({ compute(1, n-1), compute(2, n), compute(3, n+1) });
return 0;
}