Выбор комбинации минимальной стоимости
У меня есть данные разных предметов в разных ресторанах
Rest Item Price
----------------------
ABC dosa 14
ABC idly 30
ABC idly+upma 25
123 dosa 30
123 idly 7
123 upma 12
XYZ dosa 20
XYZ idly 12
XYZ upma 20
XYZ dosa+upma 30
XYZ dosa+idly+upma 40
Now I need to pickup a restaurant which gives me the best deal of "dosa+idly+upma" items.
Из приведенного примера: это будет ресторан "Азбука"
Я не могу разработать эффективный способ сделать это или не понимаю, как это сделать? Любая идея?
Обновить
Вот как выглядят мои объекты
Class Rest{
Map<String,Integer> menu; //item,price map
}