Mínimo producto escalar
El producto escalar de los vectores [a1,a2,...,an] y [b1,b2,..., bn] es
a1·b1 + a2·b2 + ··· + an·bn.
Definir la función
menorProductoEscalar :: (Ord a, Num a) => [a] -> [a] -> a
tal que (menorProductoEscalar xs ys) es el mínimo de los productos escalares de las permutaciones de xs y de las permutaciones de ys. Por ejemplo,
menorProductoEscalar [3,2,5] [1,4,6] == 29 menorProductoEscalar [3,2,5] [1,4,-6] == -19 menorProductoEscalar [0..9] [0..9] == 120 menorProductoEscalar [0..99] [0..99] == 161700 menorProductoEscalar [0..999] [0..999] == 166167000 menorProductoEscalar3 [0..9999] [0..9999] == 166616670000 menorProductoEscalar3 [0..99999] [0..99999] == 166661666700000 menorProductoEscalar3 [0..999999] [0..999999] == 166666166667000000










