Pagini recente » Cod sursa (job #1239201) | Cod sursa (job #2733619) | Cod sursa (job #631383) | Cod sursa (job #2740550) | Cod sursa (job #3232076)
#include <bits/stdc++.h>
#define MAX 100001
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int dp[MAX],v[MAX];
int main(){
int n,i,maximus=0;
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
dp[1]=dp[2]=dp[3]=v[1]+v[n];/// 1,n
for (i=4;i<=n-2;i++)
dp[i]=max(dp[i-1],dp[i-3]+v[i-1]+v[i]);
maximus=dp[n-2];
for (i=1;i<=n;i++)
dp[i]=0;
dp[2]=dp[n]=dp[3]=dp[4]=v[1]+v[2];///1,2
for (i=5;i<=n-1;i++)
dp[i]=max(dp[i-1],dp[i-3]+v[i-1]+v[i]);
if (maximus<dp[n-1])
maximus=dp[n-1];
for (i=1;i<=n;i++)
dp[i]=0;
dp[3]=dp[4]=dp[5]=v[2]+v[3];/// 2,3
for (i=6;i<=n;i++)
dp[i]=max(dp[i-1],dp[i-3]+v[i-1]+v[i]);
if (maximus<dp[n])
maximus=dp[n];
fout<<maximus;
return 0;
}