Cod sursa(job #805659)

Utilizator assa98Andrei Stanciu assa98 Data 31 octombrie 2012 21:03:11
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
#include<string.h>

int maxa(int a,int b)
{
    if(a>b)
        return a;
    return b;
}

int d[100100];
int sol;
int v[100100],n;

void din(int s,int f)
{
    memset(d,0,sizeof(d));
    d[s]=v[s]+v[s-1];
    for(int i=s+1; i<=f; i++)
        d[i]=maxa(v[i]+v[i-1]+d[i-3],d[i-1]);
    if(d[f]>sol)
        sol=d[f];

}
int main()
{
    freopen("oo.in","r",stdin);
    freopen("oo.out","w",stdout);
    scanf("%d",&n);
    int i;
    //int a;
    for(i=1; i<=n; i++)
    {
        scanf("%d",&v[i]);
    }
    v[n+1]=v[1];
    din(2,n-1);
    din(3,n);
    din(4,n+1);
    printf("%d",sol);
    return 0;
}