Pagini recente » Cod sursa (job #80009) | Cod sursa (job #336415) | Cod sursa (job #2821257) | Cod sursa (job #2793909) | Cod sursa (job #2528670)
#include <fstream>
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");
int m1,m2,m3,dp[100005],n,a[100005],i,maxi;
int func(int k)
{
m1=dp[1];
m2=max(dp[2],m1);
m3=max(dp[3],m2);
for (i=4;i<n-1;++i)
{
dp[i]=m1+a[i-k]+a[i+1-k];
m1=m2;
m2=m3;
m3=max(m3,dp[i]);
}
return m3;
}
int main()
{
in>>n;
for (i=1;i<=n;++i)
{
in>>a[i];
}
dp[1]=a[1]+a[2];
dp[2]=a[2]+a[3];
dp[3]=a[3]+a[4];
maxi=max(maxi,func(0));
dp[1]=a[1]+a[n];
dp[2]=a[1]+a[2];
dp[3]=a[2]+a[3];
maxi=max(maxi,func(1));
dp[1]=a[n-1]+a[n];
dp[2]=a[n]+a[1];
dp[3]=a[1]+a[2];
maxi=max(maxi,func(2));
out<<maxi;
return 0;
}
///Sursa ii apartine copilului Stefan Savu