Cod sursa(job #2210626)

Utilizator DanutAldeaDanut Aldea DanutAldea Data 7 iunie 2018 12:42:20
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;

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

int n,i,m,d[100010],v[100010];

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

    d[1]=0;
    d[2]=v[1]+v[2];
    d[3]=v[1]+v[2];

    for(i=4;i<=n-1;i++){
        d[i]=max(d[i-1],d[i-3]+v[i]+v[i-1]);
    }

    m=d[n-1];

    d[1]=v[1]+v[n];
    d[2]=v[1]+v[n];
    d[3]=v[1]+v[n];

    for(i=4;i<=n-2;i++){
        d[i]=max(d[i-1],d[i-3]+v[i]+v[i-1]);
    }
    m=max(d[n-2],m);

    d[1]=0;
    d[2]=0;
    d[3]=v[2]+v[3];

    for(i=4;i<=n;i++){
        d[i]=max(d[i-1],d[i-3]+v[i]+v[i-1]);
    }
    fout<<max(d[n],m);

    return 0;
}