to by asi šlo u malých množin.
U větších bych na to šel statisticky (např. zjistit si průměr, medián, minimum, maximum v porovnání s požadovaným součtem a na základě toho volit strategii hledání sčítanců.)
edit: čistě algoritmicky bych to viděl na seřazení od největšího čísla, následně nalezení prvního menšího členu a rekurzivní postupné přičítání vždy dalšího menšího členu než je stávající zbytek. To ovšem neřeší vše, např. když se dá dojít k lepšímu součtu od menších čísel, nebo v případě, kdy nejbližší větší číslo je blíže než součet všech větších - tam by ale mohla pomoci statistická analýza popsaná výše.