Cod sursa(job #2912743)

Utilizator DooMeDCristian Alexutan DooMeD Data 10 iulie 2022 14:44:07
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <bits/stdc++.h>
using namespace std;
const int nmax = 1e5;

int v[nmax+5], dp[nmax+5];

int compute(int left, int right) {
  dp[left] = 0;
  dp[left+1] = v[left] + v[left+1];
  for(int i=left+2; i<=right; i++) dp[i] = max(dp[i-1], dp[i-3] + v[i-1] + v[i]);
  return dp[right];
}

int main() {
  ifstream f("oo.in");
  ofstream g("oo.out");

  int n; f >> n;
  for(int i=1; i<=n; i++) f >> v[i];
  v[n+1] = v[1];
  g << max({ compute(1, n-1), compute(2, n), compute(3, n+1) });
  return 0;
}