Cod sursa(job #794901)

Utilizator avramavram andrei marius avram Data 7 octombrie 2012 12:45:11
Problema Oo Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<stdio.h>
#define dim 100010
int i,j,k,d[dim],v[dim],n,sol;

/*
int scifre(int n) {
	int suma = 0;
	while (n!=0) {
		suma += n% 10;
		n/=10;
	}
	return suma;
}
*/

int maxim(int a, int b) {
	if (a > b)
		return a;
	else
		return b;
}

int main()
{
	freopen("oo.in","r",stdin);
	freopen("oo.out","w",stdout);
	scanf("%d",&n);
	for(i=1;i<=n;i++)
		scanf("%d",&v[i]);
	d[1]=0;
	d[2]=v[1]+v[2];
	d[3]=v[1]+v[2];
	for(i=4;i<=n-1;i++)
	{
		d[i]=maxim(d[i-1], v[i]+v[i-1]+d[i-3]);
	}
	
	sol = d[n-1];
	d[++n]=d[1];
	d[1]=0;
	d[2]=0;
	d[3]=v[2]+v[3];
	for(i=4;i<=n;i++)
	{
		d[i]=maxim(d[i-1], v[i]+v[i-1]+d[i-3]);
	}
	if(sol>d[n])
		printf("%d",sol);
	else
		printf("%d",d[n]);
	return 0;
}