El problema es este: dado un conjunto de enteros, ¿existe algún subconjunto cuya suma sea exactamente cero?
Por ejemplo, dado el conjunto { −7, −3, −2, 5, 8}, la respuesta es SI, porque el subconjunto { −3, −2, 5} suma cero.
Una vez que los vectores están ordenados, el algoritmo puede verificar si un elemento del primer vector más un elemento del segundo dan el total s buscado en tiempo O(2N/2).
Para hacer esto, el algoritmo pasa por el primer vector en orden decreciente (empezando en el elemento más grande) y por el segundo en orden creciente (empezando por el más pequeño).
Cuando la suma del elemento en turno de los dos vectores es mayor que s, el algoritmo se mueve al siguiente elemento en el primer vector, cuando es menor que s se mueve al siguiente elemento en el segundo vector.
Supongamos que la secuencia de enteros está representada por y queremos encontrar un subconjunto cuya suma sea 0.
Crear una matriz para guardar los valores de Q(i, s) para 1≤i≤n y N≤s≤P.