Cod sursa(job #1966307)

Utilizator palomaPaloma Josse paloma Data 15 aprilie 2017 09:39:57
Problema Oo Scor 60
Compilator cpp Status done
Runda simulare_005 Marime 0.66 kb
#include <bits/stdc++.h>

#define MAXN 100001

using namespace std;

int n, answer, d[MAXN], v[MAXN];

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

    int i;

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

    //first case
    d[2] = v[1] + v[2];
    for(i=3; i<n; ++i)
        d[i] = max(d[i-1], d[i-3] + v[i-1] + v[i]);

    answer = d[n-1];

    //second case

    memset(d, 0, sizeof d);
    d[3] = v[2] + v[3];
    for(i=4; i<=n; ++i)
        d[i] = max(d[i-1], d[i-3] + v[i-1] + v[i]);

    answer = max(answer, d[n]);

    printf("%d", answer);

    return 0;
}