Pagini recente » Cod sursa (job #1825098) | Cod sursa (job #749386) | Cod sursa (job #1161011) | Cod sursa (job #2380269) | Cod sursa (job #1166753)
#include<fstream>
using namespace std;
ifstream fin( "oo.in" );
ofstream fout( "oo.out" );
const int nmax = 100000;
int sol, n;
int v[ nmax + 2 ], d[ nmax + 1 ];
void rez( int f ) {
int l;
l = n - 2 + f;
d[ f ] = 0; d[ f + 1 ] = v[ f ] + v[ f + 1 ];
for( int i = f + 2; i <= l; ++ i ) {
d[ i ] = max( d[ i-1 ], d[ i-3 ] + v[i] + v[i-1] );
}
if ( sol < d[ l ] ) {
sol = d[ l ];
}
}
int main()
{
fin>>n;
for( int i = 1; i <= n; ++ i ) {
fin>>v[ i ];
}
v[n + 1] = v[ 1 ];
sol = 0;
for( int i = 1; i < 4; ++ i ) {
rez( i );
}
fout<<sol<<'\n';
fin.close();
fout.close();
return 0;
}