Cod sursa(job #1340201)

Utilizator vladdy47Bucur Vlad Andrei vladdy47 Data 11 februarie 2015 17:39:36
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
# include <cstdio>
# include <algorithm>

using namespace std;

int d[100002], a[100002];
int sol, n;


void dnm (int s, int f)
{

    d[s] = 0;
    d[s+1] = a[s] + a[s+1];

    for (int i = s + 2; i <= f; i++)
        d[i] = max (d[i-1], d[i-3] + a[i] + a[i-1]);

    sol = max(sol,d[f]);

}
int main ()
{
    freopen("oo.in","r",stdin);
    freopen("oo.out","w",stdout);

    scanf("%d",&n);

    for (int i = 1; i <= n; i++)
        scanf("%d",&a[i]);

    a[n+1] = a[1];
    a[0]  = a[n];

    dnm(1,n-1);
    dnm(2,n);
    dnm(3,n+1);

    printf("%d",sol);
    return 0;
}