Cod sursa(job #2420820)

Utilizator stefanut999Paul Colta stefanut999 Data 13 mai 2019 13:22:11
Problema Oo Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <vector>
#include <algorithm>
#include <iostream>
#define pb push_back
#define nmax 100005
using namespace std;
ifstream fin("oo.in");
ofstream fout("oo.out");

int v[nmax], pd[nmax], sol;

int main()
{ int i, n;
  fin >> n;
  for(i = 1; i <= n; ++i)
    fin >> v[i];
  pd[1] = v[1];
  pd[2] = v[1] + v[2];
  for(i = 3; i < n; ++i)
    pd[i] = max(pd[i - 1], pd[i - 3] + v[i] + v[i - 1]);
  sol = pd[n - 1];
//  cout << sol <<'\n';
  pd[1] = pd[2] = v[1] + v[n];
  for(i = 2; i < n - 1; ++i)
    pd[i] = max(pd[i - 1], pd[i - 3] + v[i] + v[i - 1]);
  sol = max(sol, pd[n - 2]);
//  cout << sol <<'\n';
  pd[1] = 0;
  pd[2] = v[2];
  pd[3] = v[2] + v[3];
  for(i = 4; i <= n; ++i)
    pd[i] = max(pd[i - 1], pd[i - 3] + v[i] + v[i - 1]);
  sol = max(sol, pd[n]);
  //cout << sol <<'\n';
  fout << sol;
  return 0;
}