Determinar si dos números suman un valor objetivo

Dados dos arreglos de números enteros sin valores repetidos y un valor objetivo, determina si existe un par de números cuya suma sea igual al valor objetivo. Uno de los números del par debe provenir del primer arreglo y el otro, del segundo. Devuelve true si existe ese par y false en caso contrario.

Ejemplos

Program.SumOfTwo(new[] { 1, 2 }, new[] { 4, 5, 6 }, 5) // true

Program.SumOfTwo(new[] { 1, 2 }, new[] { 4, 5, 6 }, 8) // true

Program.SumOfTwo(new[] { 1, 2 }, new[] { 4, 5, 6 }, 3) // false

Program.SumOfTwo(new[] { 1, 2 }, new[] { 4, 5, 6 }, 9) // false

Notas

Los valores no se repiten dentro de cada arreglo de entrada.