Pagini recente » Cod sursa (job #559664) | Istoria paginii utilizator/calinpaun29 | Istoria paginii utilizator/teodora.stafie | Cod sursa (job #2032912) | Cod sursa (job #3232117)
#include <bits/stdc++.h>
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");
int v[100001],dp[100001];
int main()
{
int n,i;
in>>n;
for(i=1;i<=n;++i)
in>>v[i];
dp[1]=dp[2]=dp[3]=v[1]+v[n];
for(i=4;i<=n-2;++i)
dp[i]=max(dp[i-1],dp[i-3]+v[i-1]+v[i]);
int maxi=dp[n-2];
dp[1]=0;
dp[2]=dp[3]=dp[4]=v[1]+v[2];
for(i=5;i<=n-1;++i)
dp[i]=max(dp[i-1],dp[i-3]+v[i-1]+v[i]);
maxi=max(maxi,dp[n-1]);
dp[1]=dp[2]=0;
dp[3]=dp[4]=dp[5]=v[2]+v[3];
for(i=6;i<=n;++i)
dp[i]=max(dp[i-1],dp[i-3]+v[i-1]+v[i]);
maxi=max(maxi,dp[n]);
out<<maxi;
return 0;
}