Pagini recente » Cod sursa (job #3153333) | Cod sursa (job #3126481) | Cod sursa (job #2920342) | Cod sursa (job #915369) | Cod sursa (job #1611847)
#include <fstream>
#include <iostream>
#include <cstring>
#define NMAX 100005
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int sp[NMAX], dp[NMAX],i,n,sol;
void read(){
fin>>n;
for(i=1;i<=n;i++){
fin>>sp[i];
}
}
void solv()
{
sp[0]=n;
sp[n+1]=sp[1];
for(i=1;i<=n-2;i++){
dp[i]=max(dp[i-3]+sp[i]+sp[i+1],dp[i-1]);
sol=max(sol,dp[i]);
}
memset(dp,0,sizeof(dp));
for(i=2;i<=n-1;i++){
dp[i]=max(dp[i-3]+sp[i]+sp[i+1],dp[i-1]);
sol=max(sol,dp[i]);
}
memset(dp,0,sizeof(dp));
for(i=3;i<=n;i++){
dp[i]=max(dp[i-3]+sp[i]+sp[i+1],dp[i-1]);
sol=max(sol,dp[i]);
}
}
int main()
{ read();
solv();
fout<<sol<<"\n";
return 0;
}