Cod sursa(job #62771)

Utilizator yoyolichIoana Ardeleanu yoyolich Data 23 mai 2007 22:18:09
Problema Oo Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include<stdio.h>
int n,oo[10000];
long long int A[10000],rez;
long long max(long long a, long long b)
{
	return a > b ? a : b;
}
int main()
{
	int i,k;
	freopen("oo.in","r",stdin);
	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<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;
}