Pagini recente » Cod sursa (job #2248895) | Cod sursa (job #1043075) | Cod sursa (job #2868228) | Cod sursa (job #220012) | Cod sursa (job #3211835)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
long long n,a[100005];
long long sol1,sol2,dp[100005];
long long maxim(long long a,long long b)
{
if(a>b)
{
return a;
}
return b;
}
int main()
{
fin>>n;
for(int i=1;i<=n;i++)
{
fin>>a[i];
}
dp[1]=0;
dp[2]=a[1]+a[2];
for(int i=1;i<n;i++)
{
dp[i]=maxim(dp[i-1],a[i]+a[i-1]+dp[i-3]);
}
sol1=dp[n-1];
dp[1]=0;
dp[2]=0;
for(int i=3;i<=n;i++)
{
dp[i]=maxim(dp[i-1],dp[i-3]+a[i-1]+a[i]);
}
sol2=dp[n];
fout<<maxim(sol1,sol2);
return 0;
}