Cod sursa(job #1106297)

Utilizator Athena99Anghel Anca Athena99 Data 12 februarie 2014 18:23:49
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 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], sol;

void solve( int x, int y ) {
    d[x]= 0, d[x+1]= v[x+1]+v[x];

    for ( int i= x+2; i<=y; ++i ) {
        d[i]= max( d[i-1], v[i]+v[i-1]+d[i-3] );
    }

    sol= max( sol, d[y] );
}

int main(  ) {
    int n;
    fin>>n>>v[1]; v[n+1]= v[1];
    for ( int i= 2; i<=n; ++i ) {
        fin>>v[i];
    }

    solve( 1, n-1 ), solve( 2, n ), solve( 3, n+1 );
    fout<<sol<<"\n";

    return 0;
}