Cod sursa(job #1345277)

Utilizator Alexa2001Alexa Tudose Alexa2001 Data 17 februarie 2015 14:53:26
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>

using namespace std;

int MAX,i,n,a[100005],d[100005];

int MaX(int x,int y)
{
    if(x>y) return x;
    return y;
}

inline void Z(int x,int y)
{
    int i;d[x]=0;
    d[x+1]=a[x]+a[x+1];

    for(i=x+2;i<=y;++i)
    d[i]=MaX(d[i-1],d[i-3]+a[i]+a[i-1]);

    MAX=MaX(MAX,d[y]);
}

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

    scanf("%d",&n);

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

    a[n+1]=a[1];
    a[0]=a[n];
    MAX=-1;

    Z(1,n-1);
    Z(2,n);
    Z(3,n+1);

    printf("%d\n",MAX);

    return 0;
}