Pagini recente » Cod sursa (job #2936903) | Cod sursa (job #2314579) | Cod sursa (job #2882527) | Cod sursa (job #963626) | Cod sursa (job #2937345)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("oo.in");
ofstream out ("oo.out");
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];
}
int main()
{
in >> n;
for (int i=1; i<=n; i++)
in >> a[i];
a[n+1] = a[1];
out << max(max(solve(1), solve(2)), solve(3)); /// trb sa inceapa de la 1, 2, 3
return 0;
}