Pagini recente » Cod sursa (job #1830684) | Cod sursa (job #2983631) | Rating Dutulescu Andreea (andreeainfod) | Cod sursa (job #732784) | Cod sursa (job #2489723)
#include <bits/stdc++.h>
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int a[100004],dp[100004];
int n;
int main()
{
int i,M;
f>>n;
for(i=1;i<=n;i++)
f>>a[i];
dp[1]=0;
dp[2]=a[1]+a[2];
dp[3]=dp[2];
dp[4]=dp[3];
for(i=5;i<n;i++)
{
dp[i]=max(dp[i-1],a[i]+a[i-1]+dp[i-3]);
}
M=dp[n-1];
dp[1]=0;
dp[2]=0;
dp[3]=a[2]+a[3];
dp[4]=dp[5]+dp[3];
for(i=6;i<=n;i++)
{
dp[i]=max(dp[i-1],a[i]+a[i-1]+dp[i-3]);
}
M=max(M,dp[n]);
dp[1]=a[1]+a[n];
dp[2]=dp[3]=dp[1];
for(i=4;i<=n-2;i++)
{
dp[i]=max(dp[i-1],a[i]+a[i-1]+dp[i-3]);
}
M=max(M,dp[n]);
g<<M;
}