Funções currificadas

Mubashir estava lendo sobre funções currificadas. Ele precisa da sua ajuda para multiplicar um array de números usando uma função currificada.

Crie uma função chamada multiply que receba um array de inteiros e retorne uma std::function<std::vector<int>(int)>. A função retornada recebe um número inteiro e retorna um novo array cujos elementos são os valores armazenados multiplicados por esse número inteiro.

Exemplos

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

A função deve se chamar multiply.