Cod sursa(job #1966306)

Utilizator abccnuCamelia Zalum abccnu Data 15 aprilie 2017 09:39:25
Problema Oo Scor 100
Compilator cpp Status done
Runda simulare_005 Marime 0.84 kb
#include <iostream>
#include <fstream>

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

const int Nmax = 100005;

int n,a[Nmax],rez,nmax[Nmax];

int main()
{
    fin>>n;

    for(int i = 1; i <= n; ++ i)fin >> a[i];

    nmax[2] = a[2]+a[1];

    for(int i = 3; i < n; ++i)  nmax[i] = max(a[i] + a[i-1] + nmax[i-3], nmax[i-1]);


    rez = nmax[n-1];


    for(int i = 2; i <= n; ++ i) nmax[i] = 0;

    nmax[3] = a[3] + a[2];

    for(int i = 4; i <= n; ++i)  nmax[i] = max(a[i] + a[i-1] + nmax[i-3], nmax[i-1]);

    rez = max(rez,nmax[n]);
    a[n+1] = a[1];

    for(int i = 2; i <= n; ++ i) nmax[i] = 0;

    nmax[4] = a[4] + a[3];

    for(int i = 5; i <= n + 1 ; ++ i) nmax[i] = max(a[i] + a[i-1] + nmax[i-3], nmax[i-1]);

    rez = max(rez, nmax[n+1]);
    fout << rez;
    return 0;
}