Pagini recente » Cod sursa (job #329776) | Cod sursa (job #3003260) | Cod sursa (job #3039413) | Cod sursa (job #681463) | Cod sursa (job #3231206)
#include <fstream>
#define NMAX 100000
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");
int n, v[NMAX + 5], dp[NMAX + 5];
int cules(int start) {
dp[start - 1] = 0;
dp[start] = 0;
dp[start + 1] = dp[start + 2] = dp[start + 3] = v[start] + v[start + 1];
for (int i = start + 4; i <= n + 1; i++)
dp[i] = max(dp[i - 1], dp[i - 3] + v[i - 1] + v[i]);
return dp[n + start - 2];
}
int main()
{
in >> n;
for (int i = 1; i <= n; i++)
in >> v[i];
v[n + 1] = v[1];
out << max(cules(1), max(cules(2), cules(3)));
return 0;
}