Cod sursa(job #3269557)

Utilizator happyplaneDragos Miu-Baldu happyplane Data 19 ianuarie 2025 17:07:03
Problema Oo Scor 30
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");
int d[100005], v[100005];
int main()
{
  int n,maxi = 0;
  fin >> n;
  for (int i = 1;i < +n;i++)
  {
    fin >> v[i];
  }
  d[0] = 0;
  d[1] = v[1];
  d[2] = v[1] + v[2];
  for (int i = 3;i < n;i++)
  {
    d[i] = max(d[i - 1], d[i - 3] + v[i] + v[i - 1]);
  }

  maxi = d[n - 1];
  d[1] = 0;
  d[2] = v[2];
  d[3] = v[2] + v[3];

  for (int i = 4;i <= n;i++)
  {
    d[i] = max(d[i - 1], d[i - 3] + v[i] + v[i - 1]);
  }

  maxi = max(maxi, d[n]);
  d[0] = v[n];
  d[1] = v[1]+v[n];
  d[2] = d[1];

  for (int i = 4;i < n - 2;i++)
  {
    d[i] = max(d[i - 1], d[i - 3] + v[i] + v[i - 1]);
  }

  maxi = max(maxi, d[n-2]);
  fout << maxi;
}