code: def best_value(Y,sign=1):
      '''
      Returns a vector whose components i are the minimum (default) or maximum of Y[:i]
      '''
      n = Y.shape[0]
      Y_best = np.ones(n)
      for i in range(n):
          if sign == 1:
              Y_best[i]=Y[:(i+1)].min()
          else:
              Y_best[i]=Y[:(i+1)].max()
      return Y_besf best_value(Y,sign=1):
      '''
      Returns a vector whose components i are the minimum (default) or maximum of Y[:i]
      '''
      n = Y.shape[0]
      Y_best = np.ones(n)
      for i in range(n):
          if sign == 1:
              Y_best[i]=Y[:(i+1)].min()
          else:
              Y_best[i]=Y[:(i+1)].max()
      return Y_best
docs: Returns a vector whose components i are the minimum (default) or maximum of Y[:i]