Cod sursa(job #36250)

Utilizator blasterzMircea Dima blasterz Data 23 martie 2007 11:52:49
Problema Oo Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <cstdio>
#define maxn 100001
#include <algorithm>
using namespace std;


int n, oo[maxn], A[maxn], rez;


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("%d\n", rez);
	return 0;
}