Cod sursa(job #360293)

Utilizator Abi79Iordache Albert Abi79 Data 30 octombrie 2009 21:07:28
Problema Oo Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <cstdio>
#include <algorithm>

using namespace std;

int n,v[100002],v2[100002],rez,i;

FILE *f,*s;

int main()
{
	f=fopen("oo.in","r");
	s=fopen("oo.out","w");
	fscanf(f,"%d",&n);
	for(i=0;i<n;i++)
		fscanf(f,"%d",&v[i]);
	
	if(n==2)
	{
		fprintf(s,"%d",v[1]+v[2]);
		return 0;
	}
	
	v2[2]=v[1]+v[2];
	
	for(i=3;i<n;i++)
		v2[i]=max( v2[i-1], v[i] + v[i-1] + v2[i-3]);
	
	rez = v2[n-1];
	
	v2[2]=0;
	
	for(i=3;i<=n;i++)
		v2[i]=max( v2[i-1], v[i] + v[i-1] + v2[i-3]);
	
	rez=max(rez,v2[n]);
	
	v2[1]=v[1]+v[n];
	v2[2]=v[1];
	
	for(i=3; i<n; i++)
		v2[i]=max( v2[i-1], v[i] + v[i-1] + v2[i-3]);
	
	rez = max(rez, v2[n-2]);
	
	fprintf(s,"%d",rez);
	
	fclose(s);
	
	
	return 0;
}