Итак, для алгоритма грубой силы мы строим надмножество A и B и строим все их комбинации, суммируем их, строим абсолютную сумму и находим минимум?
sa = superset (A) // () (a) (e) (i) (a, e), (a, i) (e, i) (a, e, i)
sb = superset (B)
sas = supersetAsums // 0, a, e, i, a+e, a+i, e+i, a+e+i
sbs = supersetAsums
ssas = sorted (sas)
ssbs = sorted (sbs)
Теперь вы можете перебирать оба списка, если ssas (i)
Проблема здесь заключается в создании подмножеств, которые очень быстро набирают скорость для большинства известных образцов N. :)