Pagini recente » Cod sursa (job #2139309) | Cod sursa (job #1357420) | Cod sursa (job #2761281) | Cod sursa (job #2547323) | Cod sursa (job #2937422)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("oo.in");
ofstream out ("oo.out");
#define int long long
const int dim = 1e5+10;
int n;
int a[dim];
int dp[dim];
int solve (int pos)
{
dp[pos] = 0;
dp[pos+1] = a[pos] + a[pos+1];
for (int i=pos+2; i<=n; i++)
dp[i] = max(dp[i-1], dp[i-3] + a[i-1] + a[i]);
return dp[n-2+pos];
}
signed main()
{
in >> n;
for (int i=1; i<=n; i++)
in >> a[i];
a[n+1] = a[1];
int ans = -1;
for (int i=1; i<4; i++) /// prima alerge la pozitia i
{
ans = max(ans, solve(i));
}
out << ans;
return 0;
}