Cod sursa(job #1771542)

Utilizator ade_tomiEnache Adelina ade_tomi Data 5 octombrie 2016 19:11:25
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
#include <cstring>
#define NMAX 100004
using namespace std;
int d[NMAX], v[NMAX];
int n,sol;

int main ()
{
    ifstream cin ("oo.in");
    ofstream cout ("oo.out");
    cin >> n;
    for (int i = 1; i <= n; i++)
        cin >> v[i];
    d[1] = v[1] + v[n];
    for (int i = 3; i <= n - 2; i++)
    {
        d[i] = max (d[i - 1], v[i] + v[i - 1] + d[i - 3]);

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