Cod sursa(job #1812049)

Utilizator TudoseSanzianaTudose Sanziana TudoseSanziana Data 21 noiembrie 2016 19:58:04
Problema Oo Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <cstdio>
#include <algorithm>
using namespace std;
int v[100005];
int d[100005],ans;
void solve(int b,int e)
{
    d[b]=0;
    d[b+1]=v[b]+v[b+1];
    for(int i=b+2;i<=e;i++)
        d[i]=max(d[i-1],d[i-3]+v[i-1]+v[i]);
    ans=max(ans,d[e]);
}
int main()
{
    freopen("oo.in","r",stdin);
    freopen("oo.out","w",stdout);
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&v[i]);
    v[n+1]=v[1];
    solve(4,n-1);
    solve(2,n);
    solve(3,n-2);
    printf("%d\n",ans);
    return 0;
}