#include <iostream>
#include <vector>
using namespace std;

int bestCoverageFor(const vector<int> & cities, vector<int>::size_type start);


int main() {
    const vector<int> cities = {137, 106, 107, 166, 103, 261, 109};
    cout << bestCoverageFor(cities, 0);
   return 0;
}



int bestCoverageFor(const vector<int> & cities, vector<int>::size_type start)
{
  if (start >= cities.size()) {return 0;}
  else if (cities.size() == start + 1) {return cities[start];}
  else
  {
    return max(bestCoverageFor(cities, start + 1), cities[start] + bestCoverageFor(cities, start + 2));
  }
}

