Cod sursa(job #342054)

Utilizator vdobrotaDobrota Valentin Eugen vdobrota 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;
}