Un esempio del tuo problema perché ho capito che hai numeri:
1,2,7,22,199,3,5,6,12
e vuoi un sottoinsieme tale che la somma dei numeri nel sottoinsieme selezionato sia maggiore di 17.
Un approccio semplice sarebbe quello di ordinare prima l'input per ottenere:
1,2,3,5,6,7,12,22,199
ora inizia ad aggiungere fino alla somma > 17
avresti aggiunto l'enterite 0,1,2,3,4,5,6 dell'array di cui sopra, quelle enteriti rappresentano sottoinsiemi che soddisfano i tuoi criteri. Tuttavia, per un insieme di input, la soluzione potrebbe non esistere affatto o potrebbero esserci molte soluzioni.