Cod sursa(job #1504040)

Utilizator hasmasandragosHasmasan Dragos hasmasandragos Data 17 octombrie 2015 11:34:46
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");

const int nmax=100005;
int dinamica[nmax],val[nmax];
int i,n,ras;

int main()
{
    f>>n;
    for (i=1;i<=n;i++)
        f>>val[i];

    dinamica[2]=dinamica[3]=dinamica[4]=val[1]+val[2];
    for (i=5;i<n;i++)
       dinamica[i]=max(val[i]+val[i-1]+dinamica[max(i-3,0)],dinamica[i-1]);

    ras=dinamica[n-1];

    for (i=1;i<=n;i++)
     dinamica[i]=0;

    for (i=3;i<=n;i++)
       dinamica[i]=max(val[i]+val[i-1]+dinamica[max(i-3,0)],dinamica[i-1]);

    ras=max(dinamica[n],ras);

    for (i=1;i<=n;i++)
     dinamica[i]=0;

    dinamica[1]=dinamica[2]=dinamica[3]=val[1]+val[n];
    for (i=4;i<n-1;i++)
       dinamica[i]=max(val[i]+val[i-1]+dinamica[max(i-3,0)],dinamica[i-1]);

    ras=max(dinamica[n-2],ras);

    g<<ras;

    return 0;
}