Pagini recente » Cod sursa (job #2424538) | Cod sursa (job #19493) | Cod sursa (job #3151218) | Cod sursa (job #598895) | Cod sursa (job #36252)
Cod sursa(job #36252)
#include <cstdio>
#define maxn 100005
int n, oo[maxn];
long long A[maxn], rez;
long long max(long long a, long long b)
{
if(a<b) return b;
return a;
}
int main()
{
int i, j, k;
freopen("oo.in", "r",stdin);
scanf("%d\n", &n);
for(i=0;i<n;i++) scanf("%d ", &oo[i]);
if(n==2) rez=oo[0]+oo[1];
else
for(k=0;k<2;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]);
}
freopen("oo.out", "w", stdout);
printf("%lld\n", rez);
return 0;
}