Pagini recente » Cod sursa (job #1355776) | Borderou de evaluare (job #2758090) | Cod sursa (job #3183916) | Borderou de evaluare (job #3215575) | Cod sursa (job #464260)
Cod sursa(job #464260)
#include<fstream>
#include<algorithm>
using namespace std;
int n, a[100016], mn[3][3][100016], mx;
int main()
{
ifstream fin("oo.in");
ofstream fout("oo.out");
fin >> n;
for (int i = 1; i <= n; ++i)
fin >> a[i];
a[0] = a[n];
for (int k = 0; k < 3; ++k)
{
int p1, p2;
p1 = k, p2 = n - (3 - k);
for (int i = p1; i <= p2; ++i)
{
mn[k][0][i] = max(mn[k][0][i - 1], mn[k][2][i - 1]);
mn[k][1][i] = mn[k][0][i - 1] + a[i] + a[i + 1];
mn[k][2][i] = mn[k][1][i - 1];
mx = max(mx, mn[k][0][i]);
mx = max(mx, mn[k][1][i]);
mx = max(mx, mn[k][2][i]);
}
}
fout << mx;
}