Pagini recente » Cod sursa (job #2083929) | Cod sursa (job #2943471) | Cod sursa (job #1968754) | Cod sursa (job #1607892) | Cod sursa (job #1908910)
#include <iostream>
#include <fstream>
#define Nmax 100005
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int N,A[Nmax],DP[Nmax],Smax;
void Read()
{
fin>>N;
for(int i=1;i<=N;++i)
fin>>A[i];
A[N+1]=A[1];
}
void Solve(int Start,int End)
{
DP[Start-2]=0;
DP[Start-1]=A[Start-2]+A[Start-1];
for(int i=Start;i<=End;++i)
{
DP[i]=max(DP[i-1],A[i]+A[i-1]+DP[i-3]);
Smax=max(Smax,DP[i]);
}
}
int main()
{
Read();
Solve(3,N-1);
Solve(4,N);
Solve(5,N+1);
fout<<Smax<<"\n";
return 0;
}