Это вариация на тему
задачи об укладке рюкзака. Теоретически она NP-полная. Практически подходы к решению есть: самое простое, конечно отсортировать автомобили по возрастанию удельного коэффициента стоимости поездки ( на человека, то есть
4.2 / 30 = 0.14
1.6 / 7 = 0.22
1.2 / 4 = 0.3
...)
и выбирать автомобили по списку сверху вниз. Однако помним, что так мы можем получить решение, наверное, разумное, но сколько угодно далекое от оптимального.