Cod sursa(job #3341518)

Utilizator Maries_MihaiMaries Mihai Maries_Mihai Data 19 februarie 2026 20:17:33
Problema Oo Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <iomanip>
using namespace std;

ifstream fin("oo.in");
ofstream fout("oo.out");

#define nmax 100005 
int n, v[nmax], p[nmax];

vector <int> dp;
int main()
{
	fin >> n;
	for (int i = 1; i <= n; i++) {
		fin >> v[i];
	}

	for (int i = 1; i <= n; i++) {
		p[i] = v[i] + v[i % n + 1];
	}

	dp[0] = 0;
	dp[1] = max(0, p[1]);

	for (int i = 2; i < n; i++) {
		dp[i] = max(dp[i - 1], dp[i - 2] + p[i]);
	}

	int ans = dp[n - 1];
	
	dp[1] = 0;
	dp[2] = max(0, p[2]);
	for (int i = 3; i <= n; i++) {
		dp[i] = max(dp[i - 1], dp[i - 2] + p[i]);
	}

	ans = max(ans, dp[n]);

	fout << ans;


}