Aggiungo un'altra possibile idea, che funziona per tentativi (approccio a forza bruta): si associa al vettore con i pesi un altro vettore binario, in cui 1 significa "piatto da mangiare" e 0 significa "piatto da non mangiare". Quindi si enumerano tutte le possibili combinazioni (escludendo quella con tutti 0 che significherebbe saltare il pranzo e far arrabbiare la nonna!) e per ogni soluzione trovata si calcola il peso. A questo punto è semplice: si tiene traccia del minimo valore che soddisfa il requisito di essere maggiore o uguale a K.
Non sarà la soluzione più efficiente ma funziona e, se il numero di elementi è modesto, non crea particolari problemi.

Rispondi quotando