Покупка без перерасхода

Покупатель хочет взять одну клавиатуру и один накопитель, но не выйти за бюджет. Функция получает списки цен keyboards и drives, а также бюджет b. Найдите максимальную сумму покупки, которая не превышает бюджет. Если ни одну пару товаров купить нельзя, верните -1.

Примеры

Ввод
[3, 1], [5, 2, 8], 10
Вывод
9
Ввод
[4], [5], 5
Вывод
-1
Ввод
[40, 50, 60], [5, 8, 12], 60
Вывод
58

Нужно реализовать

def get_money_spent(keyboards: list[int], drives: list[int], b: int) -> int:

Теги

arraytwo-pointersmath
PostgreSQLv16

Здесь будет результат выполнения кода

Видимые тесты
1
Ввод
[3,1], [5,2,8], 10
Ожидаемый9
2
Ввод
[4], [5], 5
Ожидаемый-1
3
Ввод
[40,50,60], [5,8,12], 60
Ожидаемый58
4
Ввод
[1,2,3], [4,5,6], 100
Ожидаемый9
5
Ввод
[10], [10], 20
Ожидаемый20
6
Ввод
[4,2], [5,2,8,5,2], 9
Ожидаемый9
Фокус-радио
На паузе · SomaFM · Fluid