Cod sursa(job #804418)

Utilizator dariusdariusMarian Darius dariusdarius Data 29 octombrie 2012 19:23:14
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std ;
int answer,n,v[100005],d[100005];
inline void dinamika(int st,int end)
{
	d[st-2] = 0 ;
	d[st-1] = v[st-2] + v[st-1] ;
	for(int i=st;i<=end;++i)
	{
		d[i]=max(d[i-1],d[i-3]+v[i-1]+v[i]) ;
		answer=max(d[i],answer);
	}
}
int main()
{
	freopen("oo.in","r",stdin);
	freopen("oo.out","w",stdout);
	scanf("%d",&n);
	int i;
	for(i=1;i<=n;++i)
		scanf("%d",&v[i]);
	v[n+1]=v[1] ;
	dinamika(3,n-1);dinamika(4,n);dinamika(5,n+1);
	printf("%d\n",answer);
	return 0;
}