Cod sursa(job #1282028)

Utilizator patrutoiuandreipatrutoiu andrei patrutoiuandrei Data 3 decembrie 2014 21:56:43
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <fstream>
#include <string.h>
#define NMax 100010
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int n, v[NMax], i, d[NMax], Max=-1;
int main()
{
    f>>n;
    for (i=1; i<=n; i++)
        f>>v[i];
    v[n+1]=v[1];
    d[2]=v[1]+v[2];
    for (i=3; i<=n-1; i++) {
        d[i]=max(d[i-1], d[i-3]+v[i]+v[i-1]);
        if (Max < d[i])
            Max = d[i];
    }

    memset(d, 0, sizeof(d));
    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]);
        if (Max < d[i])
            Max = d[i];
    }

    memset(d, 0, sizeof(d));
    d[4]=v[3]+v[4];
    for (i=5; i<=n+1; i++) {
        d[i]=max(d[i-1], d[i-3]+v[i]+v[i-1]);
        if (Max < d[i])
            Max = d[i];
    }
    g<<Max;
    return 0;
}