i описана парой goods[i] = [price, weight]: вся её партия весит weight кг и стоит price. Любую партию можно разделить в любой пропорции — часть весом x кг стоит price · x / weight.
Мешок вмещает ровно capacity кг, и заполнить его нужно доверху. Верните наибольшую возможную стоимость содержимого мешка или -1, если заполнить его доверху нельзя.
Ответ принимается с точностью до 10⁻⁵.goods=[[12, 3], [10, 5], [3, 3]], capacity=6 → 18.0
Самая дорогая на килограмм — первая специя (4 за кг), берём её целиком: 3 кг, 12. Затем вторая (2 за кг): ещё 3 кг из 5, это 6. Итого 18.
goods=[[7, 2], [5, 1]], capacity=4 → -1
Всего товара 3 кг, мешок на 4 кг доверху не заполнить — ответ -1.
goods=[[9, 4]], capacity=1 → 2.25
len(goods) ≤ 10⁵goods[i] = [price, weight], 1 ≤ price, weight ≤ 10⁴capacity ≤ 10⁹goods=[[12, 3], [10, 5], [3, 3]], capacity=6
18.0
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 114 тестов на сервере, включая скрытые.