Cod sursa(job #2067262)

Utilizator Andrei2000Andrei Mihailescu Andrei2000 Data 16 noiembrie 2017 08:15:17
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin ("oo.in");
ofstream fout ("oo.out");

const int nmax=100002;
int n,v[nmax],d[nmax];

int dyn(int q, int qq){
    memset(d,0,sizeof d);
    d[q+1]=v[q]+v[q+1];
    d[q+2]=d[q+1];
    for(int i=q+3;i<=qq;++i){
        d[i]=max(v[i]+v[i-1]+d[i-3],d[i-1]);
    }
    return d[qq];
}

int main()
{
    fin>>n;
    for(int i=1;i<=n;++i)fin>>v[i];
    fout<<max(v[1]+v[n]+dyn(3,n-2),max(v[n]+v[n-1]+dyn(2,n-3),v[1]+v[2]+dyn(4,n-1)));
    return 0;
}