Cod sursa(job #1767267)

Utilizator ionanghelinaIonut Anghelina ionanghelina Data 28 septembrie 2016 21:13:35
Problema Oo Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<bits/stdc++.h>
#define maxN 100005
using namespace std;
int d[maxN],v[maxN],n,val;
inline int max(int a,int b)
{
    return a>b?a:b;
}
inline int solve (int st,int dr)
{
    if(st>=dr) return 0;
    d[st]=0;
    d[st-1]=0;
    d[st+1]=v[st]+v[st+1];
    for(int i=st+2;i<=n;i++)
    {
        d[i]=max(d[i-1],v[i]+v[i-1]+d[i-3]);
    }
    return d[dr];
}
int main()
{
    freopen("oo.in","r",stdin);
    freopen("oo.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++) scanf("%d",&v[i]);
    val=max(solve(1,n-1),solve(2,n));
    printf("%d\n",val);
    return 0;
}