Cod sursa(job #1106291)

Utilizator Athena99Anghel Anca Athena99 Data 12 februarie 2014 18:19:58
Problema Oo Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#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;
}