Cod sursa(job #1933609)

Utilizator anisca22Ana Baltaretu anisca22 Data 20 martie 2017 20:31:38
Problema Oo Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int n,a[100005],dp[100005],mx;
int main()
{
    fin>>n;
    for(int i=1;i<=n;i++)
        fin>>a[i];
    dp[0]=a[1]+a[n];
    mx=dp[0];
    for(int i=1;i<n-1;i++)
    {
        for(int j=3;j<=6;j++)
        {
            int nr=i-j;
            if(nr>0 && dp[nr]>dp[i])
                dp[i]=dp[nr];
        }
        dp[i]=dp[i]+a[i]+a[i+1];
        mx=max(dp[i],mx);
        //cout<<dp[i]<<" ";
    }
    ///N-1
    for(int j=3;j<=6;j++)
    {
        int nr=n-1-j;
        if(nr>0 && dp[nr]>dp[n-1])
            dp[n-1]=dp[nr];
    }
    dp[n-1]=dp[n-1]+a[n-1]+a[n]-a[1];
    mx=max(dp[n-1],mx);
    fout<<mx<<"\n";
    return 0;
}