Pagini recente » Cod sursa (job #330597) | Cod sursa (job #70001) | Cod sursa (job #1705287) | Cod sursa (job #2602750) | Cod sursa (job #2117999)
#include <bits/stdc++.h>
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");
int n;
unsigned long long s, maxim = -1;
int oo[100005], f[100005];
void backt()
{
for( int i = 1; i <= n; i++ )
{
if( f[i] == 0 )
{
f[i] = 1;
if( i == n )
f[1] = 1, f[2] = 1;
else
f[i+1] = 1, f[i+2] = 1;
if( i == 1 )
f[n] = 1;
else
f[i-1] = 1;
s += oo[i] + oo[i+1];
maxim = max(maxim, s);
backt();
f[i] = 0;
if( i == n )
f[1] = 0, f[2] = 0;
else
f[i+1] = 0, f[i+2] = 0;
if( i == 1 )
f[n] = 0;
else
f[i-1] = 0;
s -= oo[i] + oo[i+1];
}
}
}
int main()
{
in>>n;
for( int i = 1; i <= n; i++ )
in>>oo[i];
backt();
out<<maxim;
return 0;
}