items, — каждый в отдельный ящик. Предмет помещается в ящик, если его размер не больше размера ящика.
Ящики можно заказать только у одного поставщика. suppliers[j] — список размеров ящиков, которые выпускает поставщик j; ящиков каждого размера у него сколько угодно. Пустое место в ящике — это размер ящика минус размер предмета в нём, а общие потери — сумма пустого места по всем ящикам.
Выберите поставщика и ящики так, чтобы общие потери были наименьшими, и верните их по модулю 10⁹ + 7. Если ни у одного поставщика не получается упаковать все предметы, верните -1.items=[1, 4, 6, 7], suppliers=[[5, 10], [7, 2], [8]] → 5
Первый поставщик: 1 и 4 в ящики размера 5, 6 и 7 — в ящики размера 10; пустого места (5−1)+(5−4)+(10−6)+(10−7) = 12. Второй: 1 в ящик 2, остальные в ящики 7 — потери 1+3+1+0 = 5. Третий: все в ящики 8 — потери 7+4+2+1 = 14. Лучший — второй, ответ 5.
items=[3, 9], suppliers=[[4, 8], [2]] → -1
Предмет размера 9 не помещается ни в один ящик ни у одного поставщика, поэтому ответ -1.
items=[2, 2, 2], suppliers=[[3], [2, 6]] → 0
items=[1, 4, 6, 7], suppliers=[[5, 10], [7, 2], [8]]
5
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 87 тестов на сервере, включая скрытые.