Cod sursa(job #80987)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 30 august 2007 23:02:18
Problema Oo Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>

long long unsigned n, oo[100020];
long long unsigned a[100020], rez;
long long unsigned max(long long unsigned x,long long unsigned y)
{
  return x>y?x:y;
}

int main()
{
  long long unsigned i,  k;
  freopen("oo.in","r",stdin);
  scanf("%lld",&n);
  for (i=0; i<n; i++) scanf("%llu",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("%llu\n",rez);
  return 0;
}