Cod sursa(job #1561224)

Utilizator SilviuIIon Silviu SilviuI Data 3 ianuarie 2016 19:46:09
Problema Oo Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <stdio.h>
#include <cstring>
#include <algorithm>
#define nmax 100010

using namespace std;

int n,sol;
int t[nmax],dp[nmax];

int main() 
{
	freopen("oo.in","r",stdin);
	freopen("oo.out","w",stdout);
	scanf("%d",&n);
	for (int i=1;i<=n;i++) scanf("%d",&t[i]);
	for (int i=1;i<=n-2;i++)
	    dp[i]=max(dp[i-1],dp[i-3]+t[i]+t[i+1]);
	sol=max(sol,dp[n-2]); t[0]=t[n];
	memset(dp,0,sizeof(dp));
	for (int i=2;i<=n-1;i++)
	    dp[i]=max(dp[i-1],dp[i-3]+t[i]+t[i+1]);
	sol=max(sol,dp[n-1]);
	printf("%d",sol);
	return 0;
}