Cod sursa(job #2611906)

Utilizator Moise_AndreiMoise Andrei Moise_Andrei Data 7 mai 2020 20:01:18
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <bits/stdc++.h>
using namespace std;
ifstream in("oo.in");
ofstream out("oo.out");
int dp[100005], v[100005];
int mx;
void f(int a, int b)
{
	dp[a + 1] = v[a] + v[a + 1];
	for(int i = a + 2; i <= b; i ++)
		dp[i] = max(dp[i - 1], dp[i - 3] + v[i] + v[i - 1]);
	mx = max(mx, dp[b]);
}
int main()
{
    int n;
	in >> n;
	for(int i = 1; i <= n; i ++)
		in >> v[i];
	v[n + 1] = v[1];
	f(1, n - 1);
	dp[2] = 0;
	f(2, n);
	dp[3] = 0;
	f(3, n + 1);
	out << mx;
	return 0;
}