Pagini recente » Cod sursa (job #1916480) | Cod sursa (job #2765060) | Cod sursa (job #1272020) | Cod sursa (job #182888) | Cod sursa (job #1106291)
#include <algorithm>
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
const int nmax= 100000;
int d[nmax+1], v[nmax+1];
int main( ) {
int n, sol= 0;
fin>>n>>v[1]; d[1]= v[1];
for ( int i= 2; i<=n; ++i ) {
fin>>v[i];
d[i]= max( d[i-1], v[i]+v[i-1]+d[i-3] );
}
sol= d[n-1];
d[1]= 0, d[2]= v[2];
for ( int i= 3; i<=n; ++i ) {
d[i]= max( d[i-1], v[i]+v[i-1]+d[i-3] );
}
sol= max(sol, d[n]);
d[1]= d[2]= 0, d[3]= v[3];
for ( int i= 4; i<=n; ++i ) {
d[i]= max( d[i-1], v[i]+v[i-1]+d[i-3] );
}
d[1]= max( d[n], v[1]+v[n]+d[n-2] );
fout<<max(sol, d[1])<<"\n";
return 0;
}