Cod sursa(job #1857584)

Utilizator FrequeAlex Iordachescu Freque Data 26 ianuarie 2017 13:34:42
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <cstring>

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()
{
    int maxx=0;
    Read();
    dp[1] = v[1] + v[n];
    for (int i = 3; i < n; ++i)
        dp[i] = max(dp[i - 1], v[i] + v[i - 1] + dp[i - 3]);
    maxx = max(maxx, dp[n - 2]);
    memset(dp, 0, sizeof(dp));
    for (int i = 3; i <= n; ++i)
        dp[i] = max(dp[i - 1], v[i] + v[i - 1] + dp[i - 3]);
    maxx = max(maxx, dp[n]);
    memset(dp, 0, sizeof(dp));
    for (int i = 1; i < n; ++i)
        dp[i] = max(dp[i - 1], v[i] + v[i - 1] + dp[i - 3]);
    maxx = max(maxx, dp[n - 1]);
    fout << maxx;

}