Pagini recente » Cod sursa (job #2570127) | Cod sursa (job #2194324) | Cod sursa (job #359836) | Cod sursa (job #1991875) | Cod sursa (job #1580310)
#include <iostream>
#include<fstream>
using namespace std;
ifstream si("oo.in");
ofstream so("oo.out");
int v[100005],pd[100005];
int main()
{
int n;
si>>n;
int i;
for(i=1;i<=n;++i)
{
si>>v[i];
}
v[0]=v[n];
v[n+1]=v[1];
pd[1]=v[1]+v[2];
pd[2]=max(pd[1],v[2]+v[3]);
for(i=3;i<n-1;++i)
{
pd[i]=max(pd[i-1],pd[i-3]+v[i]+v[i+1]);
}
int sol=pd[n-2];
for(i=0;i<=n;++i)
pd[i]=0;
pd[2]=v[2]+v[3];
for(i=3;i<n;++i)
{
pd[i]=max(pd[i-1],pd[i-3]+v[i]+v[i+1]);
}
sol=max(pd[n-1],sol);
for(i=0;i<=n;++i)
pd[i]=0;
for(i=3;i<=n;++i)
{
pd[i]=max(pd[i-1],pd[i-3]+v[i]+v[i+1]);
}
sol=max(pd[n],sol);
so<<sol<<'\n';
return 0;
}