Pagini recente » Cod sursa (job #1710918) | Cod sursa (job #2036925) | Cod sursa (job #3186593) | Cod sursa (job #3187737) | Cod sursa (job #1428325)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int a[100002], b[100002];
int main()
{
ifstream in("oo.in");
ofstream out("oo.out");
int i, n,maxim=0;
in >> n;
for (i = 1;i <= n;i++)
{
in >> a[i];
}
a[0] = a[n];
a[n + 1] = a[1];
b[0] = a[0] + a[1];
b[1] = a[1] + a[2];
b[2] = a[2] + a[3];
for (i = 3;i < n - 2;i++)
{
b[i] = max(a[i] + a[i + 1] + b[i - 3], b[i - 1]);
}
maxim = b[n - 3];
b[0] = 0;
b[1] = a[1] + a[2];
b[2] = a[2] + a[3];
for (i = 3;i < n-1;i++)
{
b[i] = max(a[i] + a[i + 1] + b[i - 3], b[i - 1]);
}
maxim = max(maxim, b[n - 2]);
b[0] = 0;
b[1] = 0;
b[2] = a[2] + a[3];
for (i = 3;i < n;i++)
{
b[i] = max(a[i] + a[i + 1] + b[i - 3], b[i - 1]);
}
maxim = max(maxim, b[n-1]);
out << maxim;
}