Pagini recente » Cod sursa (job #301095) | Cod sursa (job #1750561) | Cod sursa (job #2188129) | Cod sursa (job #1267879) | Cod sursa (job #3283498)
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
const int nmax = 100000;
int n;
int d[nmax + 5];
int v[nmax + 5];
int bst;
int solve(int start)
{
memset(d,0,sizeof(d));
for(int i=1+start;i<n+start-1;i++)
if(i<2) d[i]=max(d[i-1],v[i-1]+v[i]);
else d[i]=max(d[i-1],d[i-3]+v[i-1]+v[i]);
return d[n+start-2];
}
int main()
{
fin>>n;
for(int i=1;i<=n;i++) fin>>v[i];
v[n+1]=v[1];
fout<<max(solve(1),max(solve(2),solve(3)));
}