Cod sursa(job #1330285)

Utilizator alexmisto342Turdean Alexandru alexmisto342 Data 30 ianuarie 2015 15:53:48
Problema Oo Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
using namespace std;
const int MAX_N = 100005;

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

int N,A[MAX_N],Sol;

int main()
{
    fin>>N;
    for(int i=1; i <= N; ++i)
        fin >> A[i];
    A[N+1] = A[1]; A[N+2] = A[2];
    for(int k=0; k < 3; ++k)
    {
        int bs[MAX_N];
        memset(bst, 0, sizeof bst);

        for(int i=k+1; i <= N+k; ++i)
        {
            bst[i]=max(bst[i-1],bst[i-2]);
            if(i!=k+1)
                bst[i]=max(bst[i],bst[i-3]+A[i]+A[i-1]);
        }

        Sol=max(Sol,bst[N+k-1]);
    }
    fout << Sol;
}