Cod sursa(job #342054)
Utilizator | Data | 20 august 2009 14:42:55 | |
---|---|---|---|
Problema | Oo | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.45 kb |
#include<stdio.h>
#define max(a,b) (a)>(b)?(a):(b)
int main()
{
freopen("oo.in","r",stdin);
freopen("oo.out","w",stdout);
int n,i,v[100011],x[100011],k,j,sol=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
v[n+1]=v[1];
for(i=1;i<=3;i++) {
for(j=1+i;j<=n-2+i;j++) {
x[j]=v[j]+v[j-1];
for(k=j-3;k>=j-5&&k>i;k--)
x[j]=max(x[j],v[j]+v[j-1]+x[k]);
sol=max(sol,x[j]);
}
}
printf("%d\n",sol);
return 0;
}