最小スカラー積
このコードゴルフの問題のインスピレーションは、Googleのコードジャムコンペティションにあります。問題の背後にある前提は、長さが異なる2つのベクトルの入力が与えられると、可能な最小のスカラーを見つけることです。スカラーは、次の式を使用して見つけることができます。
x1 * y1 + x2 * y2 + ... + xn * yn
ただし、問題は、入力ケースの数字の順序に応じて、スカラーの複数の値を見つけることができることです(以下を参照)。あなたの目標は、入力ケース番号を方程式にプラグインしてそれを解くことにより、可能な最小のスカラー整数解を決定することです。入力ですべての数字を使用できるのは1回だけであり、すべての数字を使用する必要があります。
次のベクターを使用して例を提供させてください。
入力
3
1 3 -5
-2 4 1
出力
-25
行の最初の整数は、各ベクトルの数値の数nを表します。この場合、各ベクトルに3つの数値があります。
数値nはテストケースごとに異なる場合がありますが、常に2つのベクトルがあります。
入力例では、最小のスカラー積は-25です。
(-5 * 4) + (1 * 1) + (3 * -2) = 25
ルール
- 両方のベクトルで各整数を一度だけ使用できます。
- ベクトル内のすべての整数を使用する必要があります。
- 出力には最終製品のみを含める必要があります
- どの言語でも、上記のすべての仕様に従う最小のコードでソリューションを選択します!
ヒント:コードを短くしない限り、この問題を総当たりする必要はありません。最小スパンスカラーの検出には、特定の方法が含まれます:)。