Pagini recente » Cod sursa (job #2339457) | Cod sursa (job #2621305) | Cod sursa (job #1074817) | Cod sursa (job #2642239) | Cod sursa (job #3228903)
#include <fstream>
using namespace std;
ifstream cin("oo.in");
ofstream cout("oo.out");
int v[100003],dp[100003],n,sol;
void initializare(){
for(int i=1;i<=n;i++)
dp[i]=0;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>v[i];
for(int i=3;i<=n;i++){
dp[i]=max(dp[i-1],dp[max(i-3,0)]+v[i]+v[i-1]);
sol=max(sol,dp[i]);
}
initializare();
for(int i=2;i<n;i++){
dp[i]=max(dp[i-1],dp[max(i-3,0)]+v[i]+v[i-1]);
sol=max(sol,dp[i]);
}
initializare();
for(int i=4;i<n;i++){
dp[i]=max(dp[i-1],dp[max(i-3,0)]+v[i]+v[i-1]);
sol=max(sol,dp[i]);
}
sol=max(sol,dp[n-2]+v[1]+v[n]);
cout<<sol;
return 0;
}