Pagini recente » Monitorul de evaluare | Cod sursa (job #2791440) | Cod sursa (job #2163744) | Cod sursa (job #643432) | Cod sursa (job #3141548)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
const int NMAX = 1e5;
int a[NMAX+5], dp[NMAX+5], n;
int solve(const int &start) {
for (int i = 1; i <= n+1; i++)
dp[i] = 0;
for (int i = start+1; i < start+n-1; i++)
dp[i] = max(dp[i-1], dp[max(i-3, 0)]+a[i-1]+a[i]);
return dp[start+n-2];
}
int main() {
ios_base :: sync_with_stdio(false);
fin.tie(nullptr), fout.tie(nullptr);
fin>>n;
for (int i = 1; i <= n; i++)
fin>>a[i];
a[n+1] = a[1];
fout<<max({solve(1), solve(2), solve(3)});
return 0;
}