Cod sursa(job #1428323)

Utilizator LegionHagiu Stefan Legion Data 4 mai 2015 03:15:13
Problema Oo Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int a[100002], b[100002];
int main()
{
	ifstream in("oo.in");
	ofstream out("oo.out");
	int i, n,maxim=0;
	in >> n;
	for (i = 1;i <= n;i++)
	{
		in >> a[i];
	}
	a[0] = a[n];
	a[n + 1] = a[1];
	b[0] = a[0] + a[1];
	b[1] = a[1] + a[2];
	b[2] = a[2] + a[3];
	for (i = 3;i <= n - 2;i++)
	{
		b[i] = max(a[i] + a[i + 1] + b[i - 3], b[i - 1]);
	}
	maxim = b[n - 2];
	b[0] = 0;
	b[1] = a[1] + a[2];
	b[2] = a[2] + a[3];
	for (i = 3;i <= n-1;i++)
	{
		b[i] = max(a[i] + a[i + 1] + b[i - 3], b[i - 1]);
	}
	maxim = max(maxim, b[n - 1]);
	b[0] = 0;
	b[1] = 0;
	b[2] = a[2] + a[3];
	for (i = 3;i < n;i++)
	{
		b[i] = max(a[i] + a[i + 1] + b[i - 3], b[i - 1]);
	}
	maxim = max(maxim, b[n]);
	out << maxim;
}