Cod sursa(job #1167221)

Utilizator gedicaAlpaca Gedit gedica Data 4 aprilie 2014 17:11:42
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream in( "oo.in" );
ofstream out( "oo.out" );

const int NMAX= 100000;

int v[NMAX+1], d[NMAX+1];

int main()
{
    int N;
    in >> N;
    for( int i= 1; i<=N; ++i )
    {
        in >> v[i];
    }
    int SOL= 0;
    v[N+1]= v[1];
    int aux;
    for( int i= 1; i<4; ++i )
    {
        aux= N-2+i;
        d[i] = 0;
        d[i+1]= v[i] + v[i+1];
        for( int j = i+2; j<= aux; ++j )
        {
            d[j] = max( d[j-1],d[j-3]+v[j]+v[j-1] );
        }
        if ( SOL<d[aux] )
        {
            SOL= d[aux];
        }
    }

    out << SOL << '\n';

    return 0;
}