Cod sursa(job #794946)

Utilizator EternalHeroeEternal Heroe EternalHeroe Data 7 octombrie 2012 13:26:38
Problema Oo Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<fstream>
using namespace std;
ifstream f("Oo.in");
ofstream g("Oo.out");

int n,i,v[100002],D[100004],sol;
int main(){
	f>>n;
	for(i=1;i<=n;i++)
	{
		f>>v[i];
	}	
	D[1]=0;//nu iau din 1
	D[2]=0;
	D[3]=v[2]+v[3];
	
	for(i=4;i<=n;i++)
	{
		D[i]=max(D[i-1],v[i]+v[i-1]+D[i-3]);
	}
	sol=D[n];
	
	D[1]=0;//iau din 1 si 2
	D[2]=v[1]+v[2];
	D[3]=v[1]+v[2];
	for(i=4;i<=n;i++)
	{
		D[i]=max(D[i-1],v[i]+v[i-1]+D[i-3]);
	}
	
	if(D[n-1]>sol)
	
	v[n+1] = v[1];
	for(i=1;i<=n;i++)
		v[i]=v[i+1];
//	v[n+2]=v[1]
	
	D[1]=0;//nu iau din 1
	D[2]=0;
	D[3]=v[2]+v[3];
	
	for(i=4;i<=n;i++)
	{
		D[i]=max(D[i-1],v[i]+v[i-1]+D[i-3]);
	}
	if(D[n]>sol)
		sol=D[n];
	
	g<<sol;
}