Cod sursa(job #794332)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 6 octombrie 2012 10:47:43
Problema Oo Scor 60
Compilator cpp Status done
Runda dinamica_i Marime 0.95 kb
#include<fstream>
#define dim 100007

using namespace std;


ifstream f("oo.in");
ofstream g("oo.out");

int egg[dim],maxim[dim];
int n,i,l,r,d,OuaAdunate;
inline int Maxx(int a,int b){
	
	if(a<b)
		return b;
	return a;
}
int main (){
	f>>n;
	
	for(i=1;i<=n;i++)
		f>>egg[i];
	
	
	// 3->n-1;
	
	l=3;r=n-1;
	
	maxim[l-2]=0;
	maxim[l-1]=egg[l-1]+egg[l-2];
	
	for(i=l;i<=r;++i){
		
		maxim[i]=Maxx(maxim[i-3]+egg[i]+egg[i-1],maxim[i-1]);
		OuaAdunate=Maxx(OuaAdunate,maxim[i]);
		
	}
	
	// 4->n
	l=4;r=n;
	
	maxim[l-2]=0;
	maxim[l-1]=egg[l-1]+egg[l-2];
	
	for(i=l;i<=r;++i){
		
		maxim[i]=Maxx(maxim[i-3]+egg[i]+egg[i-1],maxim[i-1]);
		OuaAdunate=Maxx(OuaAdunate,maxim[i]);
		
	}
	// 5->n+1
	l=5;r=n+1;
	
	maxim[l-2]=0;
	maxim[l-1]=egg[l-1]+egg[l-2];
	
	for(i=l;i<=r;++i){
		
		maxim[i]=Maxx(maxim[i-3]+egg[i]+egg[i-1],maxim[i-1]);
		OuaAdunate=Maxx(OuaAdunate,maxim[i]);
		
	}
	
	g<<OuaAdunate<<"\n";
	return 0;
}