Cod sursa(job #2490881)

Utilizator alexsandulescuSandulescu Alexandru alexsandulescu Data 11 noiembrie 2019 11:25:03
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <bits/stdc++.h>

using namespace std;

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

int N, a[100003], din[100003];

inline int solve(int st, int dr) {
   din[st] = 0;
   din[st + 1] = a[st] + a[st + 1];
   for(int i = st + 2; i <= dr; i++)
      din[i] = max(din[i - 1], din[i - 3] + a[i - 1] + a[i]);
   return din[dr];
}

int main() {
   f >> N;
   for(int i = 1; i <= N; i++)
      f >> a[i];

   a[0] = a[N];
   a[N + 1] = a[1];

   g << max(solve(1, N - 1), max(solve(2, N), solve(3, N + 1))) << "\n";
   return 0;
}