Cod sursa(job #1730639)

Utilizator victor1Vasilescu Victor victor1 Data 17 iulie 2016 13:05:18
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#define nmax 100001

using namespace std;

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

int n,v[nmax],vs[nmax],s;

void citire()
{fin>>n;
for(int i=1;i<=n;i++)fin>>v[i];
}
void rezolva()
{
    int i;

    vs[2] = vs[3] = vs[4] = v[1]+v[2];
    for(i = 5; i < n; i++)
        vs[i] = max(vs[i-1], v[i]+v[i-1]+vs[i-3]);
    s = vs[n-1];


    vs[0] = vs[1] = vs[2] = 0;
    for(i = 3; i <= n; i++)
        vs[i] = max(vs[i-1], v[i]+v[i-1]+vs[i-3]);
    s = max(s, vs[n]);


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

void write()
{
    fout<<s<<'\n';
}

int main()
{

citire();
rezolva();
write();

return 0;
}