Pagini recente » Cod sursa (job #63565) | Cod sursa (job #1149936) | Cod sursa (job #943581) | Cod sursa (job #691707) | Cod sursa (job #1428323)
#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 - 2];
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 - 1]);
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]);
out << maxim;
}