Cod sursa(job #1184444)

Utilizator Paula-ElenaPaula-Elena Margarit Paula-Elena Data 12 mai 2014 18:23:02
Problema Oo Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
using namespace std;

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

const int MAXN = 100007;

int N, d[3][MAXN], v[MAXN];

inline int maxim(int a, int b)
{
    if (a > b)
        return a;
    return b;
}

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

void solve()
{
    d[0][1] = v[1] + v[N];
    d[1][1] = v[1];
    d[2][1] = v[N];

    for (int i = 2; i <= N; ++i)
    {
        d[0][i] = d[1][i-1] + v[i];
        d[1][i] = d[2][i-1] + v[i];
        d[2][i] = maxim(d[0][i-1], d[2][i-1]);
    }

    fout << d[2][N];
}

int main()
{
    read();
    solve();

    fin.close();
    fout.close();

    return 0;
}