Cod sursa(job #796367)

Utilizator BlackLordFMI Alex Oprea BlackLord Data 11 octombrie 2012 11:31:59
Problema Oo Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;
ifstream f("oo.in");
ofstream g("oo.out");
int maxim, n, i, a[100011], b[100011];

int maxim2(int x,int y){
	if(x>y)
		return x;
	return y;
}

int main(){
	f>>n;
	for(i=1; i<=n; i++)
		f>>a[i];
	f.close();
	for(i=3; i<=n; i++)
		b[i]=maxim2(b[i-1], a[i]+a[i-1]+b[i-3]);
	maxim=maxim2(maxim, b[n]);
	b[1]=b[2]=b[3]=b[4]=a[1]+a[2];
	for(i=5; i<n; i++)
		b[i]=maxim2(b[i-1], a[i]+a[i-1]+b[i-3]);
	maxim=maxim2(maxim, b[n-1]);
	b[3]=b[2]=b[1]=a[n]+a[1];
	for(i=4; i<=n-2; i++)
	{
		maxim=maxim2(maxim, b[n-2]);
		b[i]=maxim2(b[i-1], a[i]+a[i-1]+b[i-3]);
	}
	maxim=maxim2(maxim, b[n-2]);
	g<<maxim;
	g.close();
	return 0;
}