Pagini recente » Cod sursa (job #2266915) | Cod sursa (job #1147285) | Cod sursa (job #1145795) | Cod sursa (job #2529613) | Cod sursa (job #949589)
Cod sursa(job #949589)
#include <cstdio>
using namespace std;
int a[100001], oo[100001];
int max (int x, int y)
{
if (x>=y) return x;
else return y;
}
int main()
{
int n, i, k, rez=0;
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
scanf("%d",&n);
for (i=0; i<n; i++) scanf("%d",&oo[i]);
if (n==2) rez=oo[0]+oo[1];
else
{
for (k=0; k<3; k=(k+1)%n)
{
a[k]=0; a[(k+1)%n]=0;
a[(k+2)%n]=oo[(k+1)%n]+oo[(k+2)%n];
for (i=(k+3)%n; i!=k; i=(i+1)%n)
{
a[i]=max(a[(i-1+n)%n],a[(i-3+n)%n]+oo[(i-1+n)%n]+oo[i]);
rez=max(rez,a[(k-1+n)%n]);
}
}
}
printf("%d",rez);
fclose(stdin);
fclose(stdout);
return 0;
}