Cod sursa(job #296276)

Utilizator GheorgheMihaiMihai Gheorghe GheorgheMihai Data 4 aprilie 2009 15:41:31
Problema Oo Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
#include<string.h>
int n;
long max=-999999999,v[10010];

void rez(int x)
{
	long s[10010];
	memset(s,0,sizeof(s));
	int i;
	for(i=2+x;i<n+x;i++)
	{
		s[i]=s[i-1];
		if(s[i-3]+v[i]+v[i-1]>s[i-1])
			s[i]=s[i-3]+v[i]+v[i-1];
	}
	if(max<s[n+x-1])
		max=s[n+x-1];
}

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]);
	if(n==2)
	{
		printf("%ld",v[4]+v[5]);
		return;
	}
	v[2]=v[n+2];
	v[3]=v[n+3];
	rez(1);rez(2);rez(3);
	printf("%ld\n",max);
}

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