Cod sursa(job #360212)

Utilizator Anamaria20Cotirlea Anamaria Anamaria20 Data 30 octombrie 2009 16:52:47
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>
#include <algorithm>

using namespace std;

FILE *f,*s;

int n,i,rez,v1[100005],v2[100005];

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