Qual é o caminho mais rápido para resolver prob mochila com duas propriedades

Vamos dizer que temos uma entrada:

10 // saying 1st property should be 10(in total)
10 // saying 2d property should be 10 (in total)
5 // saying theres 5 records below
// (1st property) (2nd property) (cost)
2 5 8 
7 3 10 
4 2 9
4 3 5
8 5 15

Nesse caso, a saída ficaria assim:

22 // lowest possible cost
1 3 4 // indexes of records, we've been using (indexing starts with 1)

 2  5  8
 4  2  9
 4  3  5
+---------
 10 10 22

Se não houvesse uma maneira possível de alcançar essas propriedades como 10 e 10, o programa produziria -1; Eu sei como resolver problema de mochila, no entanto eu não tenho idéia de como resolver este prob.

questionAnswers(1)

yourAnswerToTheQuestion