Funciones currificadas

Mubashir estaba leyendo sobre las funciones currificadas. Necesita tu ayuda para multiplicar un arreglo de números mediante una función currificada.

Crea una función llamada multiply que acepte un arreglo de enteros y devuelva una std::function<std::vector<int>(int)>. La función devuelta acepta un entero y devuelve un nuevo arreglo cuyos elementos son los valores almacenados multiplicados por ese entero.

Ejemplos

multiply(std::vector<int>{1, 2, 3})(2) ➞ std::vector<int>{2, 4, 6}

multiply(std::vector<int>{4, 6, 5})(10) ➞ std::vector<int>{40, 60, 50}

multiply(std::vector<int>{1, 2, 3})(0) ➞ std::vector<int>{0, 0, 0}

Notas

La función debe llamarse multiply.