Cod sursa(job #1308994)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 5 ianuarie 2015 00:05:42
Problema Oo Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 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],p;

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];
            p=0;


            if (i-2>=k) p=v[i-2]+v[i-1];
            if (i-3>=k) p+=a[i-3];
            a[i]=max(a[i],p);
    }

    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);
    j=v[n];
    for (i=n+1;i>=1;i--) v[i]=v[i-1];
    v[n+1]=0;
    v[1]=j;
    trying(1,n);

    g<<sol;


    return 0;
}