Cod sursa(job #296223)

Utilizator GheorgheMihaiMihai Gheorghe GheorgheMihai Data 4 aprilie 2009 14:45:49
Problema Oo Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
#include<string.h>
int n;
long v[10001],max,s[10001];

long maxim(long a, long b)
{
	if(a<b)
		a=b;
	return a;
}

void read()
{
	freopen("oo.in","r",stdin);
	freopen("oo.out","w",stdout);
	int i;
	scanf("%d",&n);
	for(i=4;i<=n+3;i++)
		scanf("%ld",&v[i]);
	v[2]=v[n+2];
	v[3]=v[n+3];
	
	for(i=3;i<=n;i++)
		s[i]=maxim(s[i-1],s[i-3]+v[i-1]+v[i]);
	max=maxim(s[n],max);
	memset(s,0,sizeof(s));
	
	for(i=4;i<=n+1;i++)
		s[i]=maxim(s[i-1],s[i-3]+v[i-1]+v[i]);
	max=maxim(s[n+1],max);
	memset(s,0,sizeof(s));
	
	for(i=5;i<=n+2;i++)
		s[i]=maxim(s[i-1],s[i-3]+v[i-1]+v[i]);
	max=maxim(s[n+2],max);
	
	printf("%ld\n",max);
}

int main()
{
	read();
	return 0;
}