Cod sursa(job #867285)

Utilizator dtoniucDaniel Toniuc dtoniuc Data 29 ianuarie 2013 14:58:53
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <iostream>
#include <fstream>
#define NMAX 100010
using namespace std;

int n,sol[NMAX],v[NMAX],rez;

int rezolva(int l, int d)
{
    sol[l]=0;
    sol[l+1]=v[l]+v[l+1];

    for(int i=l+2;i<=d;i++)
        sol[i]=max(sol[i-1],sol[i-3]+v[i]+v[i-1]);

    if(rez<sol[d]) rez=sol[d];
}
int main()
{
    ifstream fin("oo.in");
    ofstream fout("oo.out");
    fin>>n;

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

    rezolva(1,n-1);
    rezolva(2,n);
    rezolva(3,n+1);
    fout<<rez;
    return 0;
}