Pagini recente » Istoria paginii runda/simularedasdasd | Cod sursa (job #3232136)
#include <fstream>
using namespace std;
ifstream cin("oo.in");
ofstream cout("oo.out");
int dp[100001],v[100001];
int main()
{
int n,i,rez=0;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>v[i];
}
dp[2]=v[1]+v[n];
rez=dp[2];
for(i=3;i<=n-1;i++)
{
dp[i]=max(dp[i-1],(dp[i-3]+v[i-2]+v[i-1]));
rez=max(rez,dp[i]);
}
for(i=3;i<=n;i++)
{
dp[i]=max(dp[i-1],dp[i-3]+v[i-2]+v[i-1]);
rez=max(rez,dp[i]);
}
for(i=4;i<=n+1;i++)
{
dp[i]=max(dp[i-1],dp[i-3]+v[i-2]+v[i-1]);
rez=max(rez,dp[i]);
}
cout<<rez;
return 0;
}