Pagini recente » Cod sursa (job #1149251) | Cod sursa (job #2439483) | Cod sursa (job #2868504) | Cod sursa (job #7211) | Cod sursa (job #1629174)
#include <fstream>
#include <cstring>
#define nr 100000
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int main()
{
int i,n,j,v[nr],h[nr],s=0;
long long max1=0,max2=0;
f>>n;
for(i=1;i<=n;i++)
{
f>>v[i];
}
v[0]=v[n];
v[n+1]=v[1];
max1=-1;
for(i=1;i<=n-2;i++)
{
h[i]=max(h[i-1],h[i-3]+v[i]+v[i+1]);
if(h[i]>=max1)
max1=h[i];
}
if(max1>max2)
max2=max1;
memset(h,0,sizeof h);
max1=-1;
for(i=2;i<=n-1;i++)
{
h[i]=max(h[i-1],h[i-3]+v[i]+v[i+1]);
if(h[i]>=max1)
max1=h[i];
}
if(max1>max2)
max2=max1;
memset(h,0,sizeof h);
max1=-1;
for(i=3;i<=n;i++)
{
h[i]=max(h[i-1],h[i-3]+v[i]+v[i+1]);
if(h[i]>=max1)
max1=h[i];
}
if(max1>max2)
max2=max1;
g<<max2;
return 0;
}