Cod sursa(job #193386)

Utilizator Matei14Popa-Matei Mihai Matei14 Data 4 iunie 2008 07:45:22
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<stdio.h>
#define max(a,b) a>b?a:b
#define N 100005
int n,v[N],a[N],x;
void oo1(){
	int i;
	for(i=3;i<=n;++i)
		a[i]=max(a[i-1],v[i]+v[i-1]+a[i-3]);
	x=a[n];
}
void oo2(){
	int i;
	a[2]=a[3]=a[4]=v[1]+v[2];
	for(i=5;i<n;++i)
		a[i]=max(a[i-1],v[i]+v[i-1]+a[i-3]);
	x=max(x,a[n-1]);
}
void oo3(){
	int i;
	a[1]=a[2]=a[3]=v[1]+v[n];
	for(i=4;i<n-1;++i)
		a[i]=max(a[i-1],v[i]+v[i-1]+a[i-3]);
	x=max(x,a[n-2]);
}
int main(){
	int i;
	freopen("oo.in", "rt", stdin);
	freopen("oo.out", "wt", stdout);
	scanf("%d",&n);
	for(i=1;i<=n;++i)
		scanf("%d",&v[i]);
	oo1();
	oo2();
	oo3();
	printf("%d\n",x);
	return 0;
}