Cod sursa(job #1307946)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 3 ianuarie 2015 02:21:58
Problema Oo Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <cstdio>
#define nmax 100005
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");

int v[nmax+5],sol;
int a[nmax+5];

void trying(int k,int n)
{
    int i,j;

    for (i=0;i<=n+5;i++) a[i]=0;

    for (i=k;i<=n+1;i++) {
            a[i]=a[i-1];
            if (i-2>=k)
                if (a[i-3]+v[i-2]+v[i-1]>=a[i])
                                a[i]=a[i-3]+v[i-2]+v[i-1];
    }

    sol=max(sol,a[n+1]);
}

int main(){

    int i,j,n;

    f>>n;
    for (i=1;i<=n;i++)
            f>>v[i];

    trying(1,n);
    swap(v[0],v[n]);
    trying(0,--n);

    g<<sol;


    return 0;
}