Pagini recente » Cod sursa (job #1498065) | Cod sursa (job #1580884) | Cod sursa (job #2122090) | Cod sursa (job #1814956) | Cod sursa (job #2986557)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int n,v[100010],dp[100010],a[100010];
int main()
{
fin>>n;
int mx=0;
for(int i=1;i<=n;i++)
fin>>a[i];
for(int i=1;i<n;i++)
v[i]=a[i]+a[i+1];
v[n]=a[1]+a[n];
for(int i=1;i<=9;i++)
v[n+i]=v[i];
for(int i=6;i<=n+6;i++)
dp[i]=0;
for(int i=6;i<=n+6;i++)
{
dp[i]=v[i]+max(dp[i-3],max(dp[i-4],dp[i-5]));
}
mx=max(mx,dp[n+6]-v[n+6]);
for(int i=6;i<=n+6;i++)
dp[i]=0;
for(int i=7;i<=n+7;i++)
{
dp[i]=v[i]+max(dp[i-3],max(dp[i-4],dp[i-5]));
}
mx=max(mx,dp[n+7]-v[n+7]);
for(int i=7;i<=n+7;i++)
dp[i]=0;
for(int i=8;i<=n+8;i++)
{
dp[i]=v[i]+max(dp[i-3],max(dp[i-4],dp[i-5]));
}
mx=max(mx,dp[n+8]-v[n+8]);
fout<<mx;
return 0;
}