Cod sursa(job #795742)

Utilizator Kira96Denis Mita Kira96 Data 9 octombrie 2012 15:50:00
Problema Oo Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include<fstream>
#define L 100005
using namespace std;
int d[L],v[L],i,n,sum;
int max(int a,int b)
{
	if(a>=b)
		return a;
	return b;
}
void dinamica(int in,int sf)
{
	for(i=1;i<=in;++i)
		d[i]=0;
	d[in]=v[in]+v[in-1];
	for(i=in+1;i<=sf;++i)
		d[i]=max(d[i-3]+v[i]+v[i-1],d[i-1]);
	sum=max(sum,d[n]);
}	
int main ()
{
	ifstream f("oo.in");
	ofstream g("oo.out");
	f>>n;
	for(i=1;i<=n;++i)
		f>>v[i];
	v[n+1]=v[1];
	dinamica(2,n-1);
	dinamica(3,n);
	dinamica(4,n+1);
	g<<sum;
	return 0;
}