Cod sursa(job #1330215)

Utilizator AeroHHorea Stefan AeroH Data 30 ianuarie 2015 15:08:23
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <fstream>
using namespace std;

ifstream f("oo.in");
ofstream g("oo.out");

int i,T,N,K,P,v[100005],dp[100005],maxi;

void maxx(int i,int n)
    {
        for(int j=i;j<=n;++j)
            dp[j]=max(dp[j-1],dp[j-3]+v[j]+v[j-1]);
        for(int j=i;j<=n;++j)
            if (dp[j]>maxi)
                maxi=dp[j];
        for(i=1;i<=n+3;++i)
            dp[i]=0;
    }

int main()
{
    f>>N;
    for(i=1;i<=N;++i)
        f>>v[i];
    v[N+1]=v[1];
    dp[2]=v[1]+v[2];
    maxx(3,N-1);

    dp[3]=v[2]+v[3];
    maxx(4,N);

    dp[4]=v[3]+v[4];
    maxx(5,N+1);
    g<<maxi;

    return 0;
}