Cod sursa(job #1812061)

Utilizator TudoseSanzianaTudose Sanziana TudoseSanziana Data 21 noiembrie 2016 20:07:42
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 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(1,n-1);
    solve(2,n);
    solve(3,n+1);
    if(n==2) ans=v[1]+v[2];
    printf("%d\n",ans);
    return 0;
}