Cod sursa(job #2308803)

Utilizator bogdi1bogdan bancuta bogdi1 Data 27 decembrie 2018 19:46:53
Problema Oo Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int d[100005];
int v[100005];
int main()
{   freopen("oo.in", "r",stdin);
    freopen("oo.out", "w",stdout);
    int n,i,ans=0;
    scanf("%d", &n);
    for(i=1; i<=n; i++)
        scanf("%d", &v[i]);
    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]);
    d[n]=max(d[n-1], d[n-3]-d[2]+v[n-1]+v[n]);
    ans=d[n];
    memset(d, 0, sizeof(d));
    d[1]=d[2]=d[3]=v[1]+v[n];
    for(i=4; i<=n-2; i++)
        d[i]=max(d[i-1], d[i-3]+v[i-1]+v[i]);
    ans=max(ans, d[n-2]);
    printf("%d", ans);
    return 0;
}