Cod sursa(job #1908910)

Utilizator alexilasiAlex Ilasi alexilasi Data 7 martie 2017 10:54:39
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <iostream>
#include <fstream>
#define Nmax 100005
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int N,A[Nmax],DP[Nmax],Smax;

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

void Solve(int Start,int End)
{
    DP[Start-2]=0;
    DP[Start-1]=A[Start-2]+A[Start-1];
    for(int i=Start;i<=End;++i)
    {
        DP[i]=max(DP[i-1],A[i]+A[i-1]+DP[i-3]);
        Smax=max(Smax,DP[i]);
    }
}
int main()
{
    Read();
    Solve(3,N-1);
    Solve(4,N);
    Solve(5,N+1);
    fout<<Smax<<"\n";
    return 0;
}