Cod sursa(job #1857560)

Utilizator FrequeAlex Iordachescu Freque Data 26 ianuarie 2017 13:09:40
Problema Oo Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int NMAX = 100000 + 5;

int n;
int v[NMAX], dp[NMAX];

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

int main()
{
    Read();
    dp[n] = v[n] + v[1];
    for (int i = n - 1; i >= 1; --i)
    {
        dp[i] = v[i] + v[i + 1] + dp[i + 3];
        if (dp[i + 3] > dp[i])
            dp[i] = dp[i + 3];
    }
    dp[1] = v[1] + v[n] + dp[4];
    if (dp[4] > dp[1])
        dp[1] = dp[4];

//    for (int i = 1; i <= n; ++i)
  //      cout << dp[i] << " ";
    //cout << endl;
    fout << dp[1];
}