// COMPLETA LO QUE FALTA

#include <iostream>
#include <vector>

using namespace std;

/***************************************************************************
 VERSION 1: RECURSIVA, INEFICIENTE
 ***************************************************************************/

float maxBeneficio(const vector<float> & beneficio) {

}


/***************************************************************************
 VERSION 2: RECURSIVA, EFICIENTE
 ***************************************************************************/


/***************************************************************************
 VERSION 3: NO RECURSIVA, EFICIENTE
 ***************************************************************************/


/***************************************************************************
 EJEMPLO
 ***************************************************************************/

int main () {

   vector<float> ejemploBeneficio = { 0, 1, 5, 8, 9, 10, 17, 17, 20, 24, 26};

   float resultado = maxBeneficio(ejemploBeneficio);
   cout << "Maximo beneficio: " << resultado << endl;
   if (resultado == 27)
      cout << "OK" << endl;
   else
      cout << "MAL" << endl;

}