Pagini recente » Cod sursa (job #2465943) | Cod sursa (job #1511745) | Cod sursa (job #1799281) | Cod sursa (job #2044648) | Cod sursa (job #2014062)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int n, i, mx, in, sum, a, b, c, sf, x, y, z, v[200005], rez;
int main () {
fin >> n;
for (i = 1; i <= n; i++)
{
fin >> v[i];
v[i+n] = v[i];
}
for (in = 1; in <= n; in++)
{
sf = in + n-4;
sum = v[sf+1]+v[sf+2];
for (i = in; i <= sf-2; i++)
{
a = b = c = -300;
// calculez a
a = v[i]+v[i+1]-v[i+2];
x = v[i]+v[i+1];
if (i+2 >= sf) a += v[i+2];
// calculez b
if (i+2 < sf)
{
b = v[i+1]+v[i+2]-v[i]-v[i+3];
y = v[i+1]+v[i+2];
if (i+3 >= sf) b += v[i+3];
}
// calculez c
if (i+3 < sf)
{
c = v[i+2]+v[i+3]-v[i+1]-v[i+4];
z = v[i+2]+v[i+3];
if (i+4 >= sf) c += v[i+4];
}
// compar
if (a > b && a > c) { i += 2; sum += x; }
else if (b > a && b > c) { i += 3; sum += y; }
else if (c > a && c > b) { i += 4; sum += z; }
}
if (sum > rez) rez = sum;
}
fout << rez << "\n";
}