Cod sursa(job #1340219)

Utilizator andru47Stefanescu Andru andru47 Data 11 februarie 2015 17:50:21
Problema Oo Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int d[100005],n,i,a[100005],maxy;
void dinamik(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]);
        maxy=max(maxy,d[i]);
    }
    memset(d,0,sizeof(d));
    return ;
}
int main()
{
    freopen("oo.in","r",stdin);
    freopen("oo.out","w",stdout);
    scanf("%d\n",&n);
    for (i=1; i<=n; i++)
        scanf("%d ",&a[i]);
    dinamik(1,n-1);
    dinamik(2,n);
    dinamik(3,n+1);
    printf("%d\n",maxy);
}